Firmware control system, switch, server, control method and medium

By introducing redundancy and fault tolerance of multiple firmware systems into the extended bus switch, the problems of stability and performance optimization of extended bus switches are solved, achieving higher reliability and performance.

CN119739432APending Publication Date: 2025-04-01INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411894600.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-20
Publication Date
2025-04-01

AI Technical Summary

Technical Problem

The prior art is difficult to ensure the stable operation and performance optimization of extended bus switches.

Method used

A firmware control system is provided, including a storage module, an input module and a control module. By storing multiple firmware systems, acquiring device information, matching and loading suitable firmware systems, the redundancy and fault tolerance of the firmware system are achieved, thereby improving the reliability and performance of the firmware system.

Benefits of technology

Through the redundancy and fault tolerance of multiple firmware systems, the reliability and performance of the extended bus switch are improved, ensuring stable operation and efficient communication of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119739432A_ABST
    Figure CN119739432A_ABST
Patent Text Reader

Abstract

The present application relates to the field of computer technology, and in particular to a firmware control system, switch, server, control method and medium. The firmware control system includes: a storage module, an input module and a control module; the storage module is used to store multiple firmware systems; the input module is used to connect to the expansion bus switch to obtain the device information of the expansion bus switch when the expansion bus switch is started; the control module is connected to the input module and the storage module respectively, and is used to obtain the device information of the server input from the input module, match the firmware system associated with the device information, as the target firmware system; load the relevant data of the target firmware system and execute it to load the target firmware system; wherein the relevant data includes a driver. In the above manner, the present application can provide firmware system redundancy and fault tolerance, which is conducive to improving the reliability and performance of the firmware system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a firmware control system, an expansion bus switch, a server, a firmware control method, and a computer-readable storage medium. Background Art

[0002] Expansion bus switches such as PCIe (Peripheral Component Interconnect express, a high-speed serial computer expansion bus standard) switches are often used in computer devices such as servers to achieve PCIe interface expansion, thereby increasing the number of supported PCIe devices. Therefore, how to ensure the stable operation of the expansion bus switch or how to optimize the performance of the expansion bus switch has become an urgent problem to be solved. Summary of the invention

[0003] Based on this, it is necessary to provide a firmware control system, an expansion bus switch, a server, a firmware control method and a computer-readable storage medium to address the above-mentioned technical problems, which can provide firmware system redundancy and fault tolerance, thereby helping to improve the reliability and performance of the firmware system.

[0004] On the one hand, a firmware control system is provided, which includes: a storage module, an input module and a control module; the storage module is used to store multiple firmware systems; wherein each firmware system includes at least one set of related data, and the related data includes a driver; the input module is used to connect to an expansion bus switch to obtain device information of the expansion bus switch when the expansion bus switch is started; the control module is connected to the input module and the storage module respectively, and is used to obtain device information of a server input from the input module, match a firmware system associated with the device information as a target firmware system; load the relevant data of the target firmware system and execute it to load the target firmware system.

[0005] In one embodiment of the present application, the storage module includes a first storage unit and a second storage unit; the first storage unit and the second storage unit are connected to the control module respectively; the first storage unit is used to store a first firmware system; the second storage unit is used to store a second firmware system; wherein the first firmware system is different from the second firmware system; the first firmware system is applicable to a transmission distance higher than that of the second firmware system; and / or the transmission efficiency of the second firmware system is higher than that of the first firmware system; the control module is used to obtain device information of the server input from the input module when the server connected to the firmware system is started; parse and identify the graphics processor identifier carried in the device information, and match the first firmware system or the second firmware system associated with the graphics processor identifier; when the firmware system matching the graphics processor identifier is the first firmware system, the control module controls the connection pin between the control module and the storage module to be in a first state to link to the first storage unit, load the first firmware system in the first storage unit and load it; when the firmware system matching the graphics processor identifier is the second firmware system, the control module controls the connection pin between the control module and the storage module to be in a second state to link to the second storage unit, load the second firmware system in the second storage unit and load it.

[0006] In one embodiment of the present application, the storage module includes a third storage unit and a fourth storage unit; the third storage unit is used to store a third firmware system, and the fourth storage unit is used to store the third firmware system; wherein the third firmware system stored in the third storage unit is a main firmware system; and the third firmware system stored in the fourth storage unit serves as a backup of the third firmware system stored in the third storage unit.

[0007] In one embodiment of the present application, the control module is used to monitor the operating status of the main firmware system when the server to which it is connected starts loading the main firmware system into the expansion bus switch; when the control module identifies the operating status and determines that the main firmware system is operating abnormally, it controls the loading of the third firmware system of the fourth storage unit to update the third firmware system loaded by the expansion bus switch.

[0008] In one embodiment of the present application, the control module includes a first control unit; the first control unit is connected to the storage module and the input module respectively; the first control unit is used to identify the device information input by the input module, control the selection of a firmware system matching the device information from the storage module as the target firmware system and load it.

[0009] In one embodiment of the present application, the control module includes a second control unit, which is connected to the storage module; the second control unit is used to receive the target firmware system and execute relevant data of the target firmware system to install the target firmware system; the second control unit is also connected to the input module to obtain the input expansion bus signal and perform signal processing and / or signal regeneration on the input expansion bus signal.

[0010] On the other hand, an expansion bus switch is provided, which includes: a switch body and a firmware control system; the firmware control system is arranged in the switch body; the firmware control system includes a storage module, an input module and a control module; the storage module is used to store multiple firmware systems; wherein each firmware system includes at least one set of related data, and the related data includes a driver; the input module is used to connect to the expansion bus switch to obtain device information of the expansion bus switch when the expansion bus switch is started; the control module is respectively connected to the input module and the storage module, and is used to obtain device information of the server input from the input module, and match the firmware system associated with the device information as the target firmware system; load the relevant data of the target firmware system and execute it to load the target firmware system.

[0011] On the other hand, a server is provided, comprising: a server body and an expansion bus switch as in the above embodiment; the expansion bus switch is arranged on the server body, and is used to identify the hardware configuration of the server body and select a firmware system adapted to the hardware configuration.

[0012] On the other hand, a firmware control method is provided, which is applied to a firmware system as in any of the above embodiments, and the firmware control method includes: obtaining device information of a server; matching a firmware system associated with the device information as a target firmware system; loading relevant data of the target firmware system and executing it to load the target firmware system; wherein the relevant data includes a driver program.

[0013] On the other hand, a computer-readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented: obtaining device information of a server; matching a firmware system associated with the device information as a target firmware system; loading relevant data of the target firmware system and executing it to load the target firmware system; wherein the relevant data includes a driver program.

[0014] The firmware system, expansion bus switch, server, firmware control method and computer-readable storage medium, the firmware system includes a storage module, an input module and a control module. The storage module can store multiple firmware systems. If so, the control module can select a firmware system suitable for the current environment and for loading from the storage module as the target firmware system according to the device information input from the input module. The storage module stores multiple firmware systems to provide redundancy and fault tolerance for the firmware system, thereby facilitating the improvement of the reliability and performance of the firmware system. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] Figure 1 It is a structural diagram of an embodiment of the firmware control system of the present application;

[0016] Figure 2 It is a structural diagram of another embodiment of the firmware control system of the present application;

[0017] Figure 3a It is a structural diagram of the first embodiment of the storage module of the present application;

[0018] Figure 3b It is a structural diagram of the second embodiment of the storage module of the present application;

[0019] Figure 4 It is a structural diagram of the third embodiment of the storage module of the present application;

[0020] Figure 5 is a schematic structural diagram of a fourth embodiment of the storage module of the present application;

[0021] Figure 6 It is a structural diagram of an embodiment of the server of the present application;

[0022] Figure 7 It is a structural diagram of an embodiment of an expansion bus switch of the present application;

[0023] Figure 8 It is a structural diagram of another embodiment of the server of the present application;

[0024] Fig. 9 It is a flowchart of an embodiment of the firmware control method of the present application;

[0025] Fig.10 It is a flowchart of another embodiment of the firmware control method of the present application;

[0026] Fig.11 It is a structural diagram of an embodiment of a computer device of the present application. DETAILED DESCRIPTION

[0027] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0028] In order to solve the technical problems existing in the related art that it is difficult to ensure the stability of the expansion bus switch and it is difficult to improve the performance of the expansion bus switch, the present application provides a firmware system, an expansion bus switch, a server, a firmware control method and a computer-readable storage medium. The firmware system includes: a storage module, an input module and a control module; the storage module is used to store multiple firmware systems; wherein each firmware system includes at least one set of related data, and the related data includes a driver; the input module is used to connect to the expansion bus switch to obtain the device information of the expansion bus switch when the expansion bus switch is started; the control module is connected to the input module and the storage module respectively, and is used to obtain the device information of the server input from the input module, match the firmware system associated with the device information, as the target firmware system; load the relevant data of the target firmware system and execute it to load the target firmware system. The specific structure and working principle of the present application are described below with examples.

[0029] See also Figure 1 , Figure 1 It is a structural diagram of an embodiment of a firmware control system of the present application.

[0030] In one embodiment, the firmware control system includes a storage module 10 , an input module 20 and a control module 30 .

[0031] The storage module 10 is used to store multiple firmware systems. Each firmware system includes at least one set of related data, and the related data includes a driver. The firmware system can be firmware, etc., and can represent a program written in EPROM (erasable programmable read-only memory) or EEPROM (electrically erasable programmable read-only memory). The multiple firmware systems can be multiple versions of firmware systems, which is conducive to enriching the applicable scenarios of the firmware system; and / or, at least one set of multiple firmware systems of the same version, which is conducive to enhancing the fault tolerance of the firmware system and enriching the configurability of the firmware system.

[0032] Each firmware system may include one or more sets of related data. In other words, the storage module 10 stores at least two independent firmware systems, which can solve the shortcomings of the traditional expansion bus switch in terms of adaptability to application scenarios, and can also facilitate flexible switching to different firmware systems according to different application scenarios and user needs.

[0033] The input module 20 is used to connect to the expansion bus switch to obtain the device information of the expansion bus switch when the expansion bus switch is started. The expansion bus switch may be, for example, a PCIe Switch, etc., which is not limited here.

[0034] The control module 30 is connected to the input module 20 and the storage module 10 respectively, and is used to obtain the device information of the server input from the input module 20, match the firmware system associated with the device information as the target firmware system; load the relevant data of the target firmware system and execute it to load the target firmware system.

[0035] It can be seen that the firmware system includes a storage module 10, an input module 20 and a control module 30. The storage module 10 can store multiple firmware systems. In this way, the control module 30 can select a firmware system suitable for the current environment and for loading from the storage module 10 as the target firmware system according to the device information input from the input module 20. The storage module 10 stores multiple firmware systems to provide redundancy and fault tolerance for the firmware system, thereby facilitating the improvement of the reliability and performance of the firmware system.

[0036] Please refer to Figure 2 as well as Figure 3a , Figure 2 is a structural diagram of another embodiment of the firmware control system of the present application, Figure 3a It is a structural diagram of the first embodiment of the storage module of the present application.

[0037] In one embodiment, as the name implies, the storage module 10 is a module with a function of storing data. As such, the storage space of the storage module 10 can be divided into a plurality of sub-storage spaces, that is, the storage module 10 can include a plurality of storage units, so as to utilize each storage unit to store part of the data respectively. Among them, the storage unit can be SPI_Flash (Serial Peripheral Interface_Flash, serial peripheral interface flash memory), etc., which is not limited here. In this embodiment, at least part of the storage units can be used to store firmware systems, and different firmware systems can also run in different scenarios to facilitate performance improvement. In addition, the overall performance of the expansion bus switch can also be improved through technologies such as parallel processing or load balancing.

[0038] The multiple storage units can be divided into main storage units and backup storage units. When the main storage unit is abnormal or fails, the backup storage unit can take over the work, which is conducive to maintaining system continuity and stability. Optionally, the main storage unit and the backup storage unit can be designed to run in different scenarios to provide better performance for multiple scenarios. In addition, it can also be combined with technologies such as parallel processing or load balancing to further improve the overall performance. At the same time, multiple SPI_Flash configurations such as dual SPI_Flash can also enhance system security to improve the security and reliability of the expansion bus switch.

[0039] In this embodiment, the storage module 10 may include a first storage unit 11 and a second storage unit 12, and the first storage unit 11 and the second storage unit 12 may be respectively connected to the control module 30. The first storage unit 11 and the second storage unit 12 may be used to store firmware systems respectively, and the first storage unit 11 and the second storage unit 12 may be used to store different firmware systems.

[0040] Specifically, the first storage unit 11 may be used to store a first firmware system, and the second storage unit 12 may be used to store a second firmware system, wherein the first firmware system is different from the second firmware system.

[0041] Optionally, the transmission distance applicable to the first firmware system may be higher than the transmission distance applicable to the second firmware system, and / or the transmission efficiency of the second firmware system may be higher than the transmission efficiency of the first firmware system.

[0042] In other words, the data transmission distance performance applicable to the first firmware system may be better than that of the second firmware system. Alternatively, the transmission efficiency performance of the second firmware system may be better than that of the first firmware system. Alternatively, the data transmission distance performance applicable to the first firmware system may be better than that of the second firmware system, and at the same time, the transmission efficiency performance of the second firmware system may be better than that of the first firmware system. In short, the first firmware system may be more suitable for signal enhancement and methods in long-distance transmission scenarios than the second firmware system, and the second firmware system may be more suitable for signal compression and encoding in high-speed transmission scenarios than the first firmware system.

[0043] In this way, the control module 30 can obtain the device information of the server and use the device information to evaluate the device requirements of the server to select the firmware system loaded on the expansion bus switch, that is, select the first firmware system or the second firmware system to be loaded on the expansion bus switch.

[0044] Optionally, the device information of the server may include at least one of a GPU (Graphics Processing Unit) identifier, a Board ID (board device identification code), firmware information, etc., which is not limited here.

[0045] When the first firmware system is selected to be loaded, the relevant data of the first firmware system can be obtained from the first storage unit 11 to load the first firmware system into the expansion bus switch. When the second firmware system is selected, the relevant data of the second firmware system can be obtained from the second storage unit 12 to load the second firmware system into the expansion bus switch.

[0046] Specifically, the control module 30 can be used to obtain the device information of the server input from the input module 20 when the server connected to the firmware system is powered on / started, parse and identify the graphics processor identifier carried in the device information, and match the first firmware system or the second firmware system associated with the graphics processor identifier.

[0047] When the firmware system matching the GPU identifier is the first firmware system, the control module 30 controls the connection pin between it and the storage module 10 to be in the first state to link to the first storage unit 11, load the first firmware system in the first storage unit 11 and perform loading.

[0048] When the firmware system matching the GPU identifier is the second firmware system, the control module 30 controls the connection pin between it and the storage module 10 to be in the second state to link to the second storage unit 12, load the second firmware system in the second storage unit 12 and perform loading.

[0049] That is to say, the firmware control system in this embodiment can be compatible with at least two firmware systems. For example, the firmware system suitable for the server can be selected according to the configuration of the server, which can enhance the compatibility and flexibility of the firmware control system and the server. In view of the possible hardware mismatch, the firmware system redundancy and fault tolerance can be provided through multiple different firmware systems, allowing the selection of a more suitable firmware system under different hardware configurations, thereby facilitating efficient communication and collaborative work between the firmware control system, the expansion bus switch and the server. At the same time, multiple different firmware systems can also improve the compatibility and scalability of the expansion bus switch. For example, by supporting firmware systems of different operating systems, hardware platforms and interface standards, the expansion bus switch can be easily integrated with other devices or systems, and it is also conducive to providing flexibility for future expansion and upgrades.

[0050] Furthermore, different firmware systems can be dynamically reconfigured to adapt to different workloads and environmental conditions, so that tasks and resources can be flexibly allocated. For example, one firmware system can focus on data processing, while another firmware system can focus on monitoring, fault recovery, and system maintenance tasks.

[0051] like Figure 3a As shown in the example, the first storage unit 11 may contain a set of relevant data of the first firmware system, namely the first firmware system FW10, and the second storage unit 12 may contain a set of relevant data of the second firmware system, namely the second firmware system FW20. In other words, Figure 3a An example is given in which the first firmware system and the second firmware system include a complete set of related data, that is, the first firmware system may include a set of hardware drivers; the second firmware system may include a set of hardware drivers.

[0052] In an alternative embodiment, the first firmware system may include one set of related data, and the second firmware system may include multiple sets of related data; or, the first firmware system may include multiple sets of related data, and the second firmware system may include one set of related data.

[0053] Or, you can Figure 3b As shown in the example, Figure 3b 1 is a schematic diagram of the structure of the second embodiment of the storage module of the present application. The first storage unit 11 can store multiple sets of relevant data of the first firmware system, namely, the first firmware system FW1-1, ..., the first firmware system FW1-N; the second storage unit 12 can store multiple sets of relevant data of the second firmware system, namely, the second firmware system FW2-1, ..., the second firmware system FW2-N, which is not limited here.

[0054] When loading the first firmware system or the second firmware system containing multiple sets of relevant data, relevant data that is more compatible with the current server device information may be selected, or the latest version of relevant data may be selected, etc., which is not limited here.

[0055] Please refer to Figure 2 as well as Figure 4 , Figure 4 It is a structural diagram of the third embodiment of the storage module of the present application.

[0056] In one embodiment, the storage module 10 may include a third storage unit 13 and a fourth storage unit 14. The third storage unit 13 and the fourth storage unit 14 may be used to store the same firmware system to provide redundancy and fault tolerance for the same firmware system, and in the case of needing to update or maintain, the single firmware system may require downtime and affect system availability, but the dual firmware system may allow one of the firmware systems to perform firmware updates and maintenance without interrupting the business, that is, one of the firmware systems can take over the data transmission task during the update of the other firmware system, thereby ensuring continuity and stability, and this fault tolerance is particularly important for application scenarios such as data centers and servers that require high reliability, and can significantly improve performance.

[0057] Specifically, the third storage unit 13 may be used to store the third firmware system. The fourth storage unit 14 may be used to store the third firmware system. Figure 4 As shown in the example, the third storage unit 13 and the fourth storage unit 14 can both store relevant data of the third firmware system, that is, the third firmware system FW30. Figure 4 The example shows an implementation method in which the third storage unit 13 and the fourth storage unit 14 store a group of related data of the third firmware system. In an alternative embodiment, at least one of the third storage unit 13 and the fourth storage unit 14 can store related data of multiple third storage units, which is not limited here.

[0058] Among them, the third firmware system stored in the third storage unit 13 can be used as the main firmware system. The third firmware system stored in the fourth storage unit 14 can be used as a backup of the third firmware system stored in the third storage unit 13. That is to say, the third firmware system stored in the third storage unit 13 can usually be loaded on the expansion bus switch, and when the third firmware system needs to be updated, the third firmware system of the fourth storage unit 14 can be loaded on the expansion bus switch to update the third firmware system of the third storage unit 13. When the third firmware system of the third storage unit 13 is updated, the expansion bus switch is switched to load the updated third firmware system of the third storage unit 13, and the third firmware system of the fourth storage unit 14 that has not been updated is updated. In this way, the downtime caused by updating the firmware system can be reduced, which is conducive to improving the continuity of business processing.

[0059] Furthermore, the control module 30 can also be used to monitor the running status of the main firmware system when the main firmware system is loaded into the expansion bus switch when the server to which it is connected is powered on / started.

[0060] When the control module 30 identifies the running state and determines that the main firmware system is running abnormally, it controls the third firmware system loaded in the fourth storage unit 14 to be loaded to update the third firmware system loaded by the server. In this way, the single point failure problem can be overcome to a certain extent, that is, when the third firmware system loaded on the expansion bus switch has an error or failure, another third firmware system can be loaded to take over, thereby reducing the risk of data transmission interruption. In other words, the storage module 10 can store multiple identical firmware system designs, and the security and reliability of the expansion bus switch can be improved by adding security features. It can also further implement more stringent security policies, encryption and identity authentication mechanisms, etc., to further improve the security of data during transmission. For example, a single firmware system may have risks such as minor security vulnerabilities, so this embodiment can prevent potential security threats through additional firmware system defenses. For example, multiple firmware systems such as a dual firmware system can implement more complex security policies, in which one firmware system can focus on monitoring system security, even if potential security risks are discovered and responded to, and when the main firmware system fails, the backup firmware system can quickly take over and implement automatic fault recovery to reduce manual intervention, thereby improving the system's self-healing ability, and the main firmware system can be maintained during the takeover of the backup firmware system.

[0061] Optionally, the same firmware system stored in different storage units can also be used for mutual verification to ensure the integrity of the firmware system and reduce the risk of using a tampered firmware system. As described above, the third storage unit 13 and the fourth storage unit 14 can both store the third firmware system. Before loading the third firmware system to the expansion bus switch, after the third firmware system is stored in the third storage unit 13 and the fourth unit, and at least one time when the third firmware system is loaded, the relevant data of the third firmware system in the third storage unit 13 and the fourth storage unit 14 can be compared to verify the matching of the two. In response to the third firmware system of the third storage unit 13 matching the third firmware system of the fourth storage unit 14, the third firmware system of the third storage unit 13 can be used as the main firmware system. Further, in response to the third firmware system of the third storage unit 13 not matching the third firmware system of the fourth storage unit 14, automatic or manual intervention can be performed to verify the integrity and non-tampering of the two, and the other can be updated using the complete and non-tampered third firmware system. Alternatively, the third firmware system may be rewritten into the third storage unit 13 and the fourth storage unit 14 respectively to overwrite the original third firmware system, which is not limited here.

[0062] Furthermore, the control module 30 can also control switching between multiple firmware systems to work with a firmware system that better matches the current application scenario and alleviate performance limitations. In other words, the responsibilities of the firmware systems can be dispersed, reducing the risk of performance bottlenecks of a single firmware system affecting business efficiency, optimizing processing flows, and improving data transmission rates and efficiency. For example, the control module 30 can determine which firmware should be used based on preset conditions or user instructions. When one of the conditions changes, the control module 30 can trigger a switching mechanism to replace the firmware version currently in use with another suitable firmware version. In addition, the switching process can be implemented through simple instructions or configurations to reduce complex hardware replacement or software upgrade operations.

[0063] For further information, please refer to Figure 2 as well as Figure 5 , Figure 5 It is a structural diagram of the fourth embodiment of the storage module of the present application.

[0064] In one embodiment, the storage module 10 can store different firmware systems at the same time, and can also store multiple identical firmware systems, which will not be described in detail here.

[0065] Please continue reading Figure 2 In one embodiment, the control module 30 may include a first control unit 31 .

[0066] Specifically, the first control unit 31 is connected to the storage module 10 and the input module 20 respectively.

[0067] The first control unit 31 is used to identify the device information input by the input module 20, and control the storage module 10 to select a firmware system matching the device information as a target firmware system and load it.

[0068] Optionally, the control module 30 may further include a second control unit 32 .

[0069] The second control unit 32 may be connected to the storage module 10 , and the second control unit 32 may also be connected to the input module 20 .

[0070] The second control unit 32 is used to receive the target firmware system and execute the relevant data of the target firmware system to install the target firmware system. The second control unit 32 is also connected to the input module 20 to obtain the input expansion bus signal and perform signal processing and / or signal regeneration on the input expansion bus signal. As such, in this embodiment, the second control unit 32 can improve the signal quality and stability, and further improve the performance of the firmware control system, the expansion bus switch, and the server.

[0071] That is to say, in this embodiment, the firmware control system adopts a modular design, which may include a first control unit 31, a second control unit 32, an input module 20 and a storage module 10. The input module 20 is used to connect to the PCIe bus of the computer system; the second control unit 32 is used to process and regenerate the received PCIe signal; the storage module 10 is used to store two or at least two firmware systems; the first control unit 31 is used to select a suitable firmware system from the storage module 10 and load it into the second control unit 32 for execution. As such, this embodiment can improve the stability and reliability of the firmware control system, enhance the compatibility and flexibility of the device, improve data processing and storage capabilities, and simplify device management and maintenance. For example, the design of multiple firmware systems can significantly improve performance when processing high-throughput I / O (Input / Output) operations. For example, when using two firmware systems, an expansion bus switch can simultaneously connect multiple high-performance NVMe SSDs (non-volatile memory host controller interface specification solid-state drives), and realize the read and write operations of two servers to one SSD by optimizing data synchronization algorithms, etc., and its performance is due to the standard operation of the NVMe protocol. It can also simplify equipment management and maintenance. Through the rapid switching and updating of firmware, it can respond more flexibly to different hardware and software requirements, reduce system downtime, and improve overall operation and maintenance efficiency. In addition, the design of multiple firmware systems is conducive to paving the way for future technological development. With the continuous updating of technology and standards, the design of multiple firmware systems can more easily adapt to changes. Through the update and upgrade of the firmware system, it is conducive to supporting more advanced functions and performance improvements to meet the needs of complex application scenarios in the future.

[0072] In summary, the firmware control system in this embodiment is conducive to solving the limitations of traditional firmware control systems, ensuring stable system operation, improving equipment performance, and providing support for future technology adaptation and other aspects. In addition, the existence of multiple firmware systems such as dual firmware systems can allocate more resources for real-time monitoring and diagnosis, which is conducive to improving the efficiency of discovering and solving problems. It can also significantly improve the stability, reliability and security of data transmission in data centers and enterprise-level applications, and is conducive to reducing maintenance costs while improving operational flexibility.

[0073] See also Figure 6 , Figure 6 It is a structural diagram of an embodiment of the server of this application.

[0074] In one embodiment, the server includes a server body 40 and an expansion bus switch 50 .

[0075] The expansion bus switch 50 may be provided in the server body 40 to identify the hardware configuration of the server body 40 and select a firmware system that is adapted to the hardware configuration.

[0076] The structure of the expansion bus switch 50 is described below by way of example.

[0077] See also Figure 7 , Figure 7 It is a structural diagram of an embodiment of an expansion bus switch of the present application.

[0078] In one embodiment, the expansion bus switch 50 may include a switch body 51 and a firmware control system.

[0079] The firmware control system may be provided in the switch body 51 .

[0080] As described above, the firmware control system includes a storage module 10 , an input module 20 and a control module 30 .

[0081] The storage module 10 is used to store a plurality of firmware systems, wherein each firmware system includes at least one set of related data, and the related data includes a driver program.

[0082] The input module 20 is used to connect to the expansion bus switch 50 to obtain device information of the expansion bus switch 50 when the expansion bus switch 50 is started.

[0083] The control module 30 is connected to the input module 20 and the storage module 10 respectively, and is used to obtain the device information of the server input from the input module 20, match the firmware system associated with the device information as the target firmware system; load the relevant data of the target firmware system and execute it to load the target firmware system.

[0084] Please refer to Figure 2 , Figures 6 to 8 , Figure 8 It is a structural diagram of another embodiment of the server of the present application.

[0085] In one embodiment, the expansion bus switch 50 may include a high-speed serial computer expansion bus standard switch 501, namely a PCIe Switch. The baseboard management controller 41 of the server, namely a BMC (Baseboard Management Controller), may also be used as the control module 30 of the firmware control system.

[0086] The high-speed serial computer expansion bus standard switch 501 and the baseboard management controller 41 can be connected to each other through a GPIO (General Purpose Input / Output).

[0087] For the specific definition of the firmware system, please refer to the definition of the firmware control method below, which will not be repeated here. Each module in the above firmware system can be implemented in whole or in part by software, hardware and a combination thereof. The above modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.

[0088] See also Fig. 9 , Fig. 9 It is a flowchart of an embodiment of the firmware control method of the present application.

[0089] S101: Obtain device information of the server.

[0090] S102: Matching a firmware system associated with the device information as a target firmware system.

[0091] S103: Load relevant data of the target firmware system and execute the data to load the target firmware system; wherein the relevant data includes a driver program.

[0092] It can be seen that in this embodiment, based on the device information input from the input module, a firmware system suitable for the current environment and for loading is selected from the storage module as the target firmware system. Storing multiple firmware systems in the storage module provides redundancy and fault tolerance for the firmware system, which is beneficial to improving the reliability and performance of the firmware system.

[0093] In one embodiment, taking the example of the storage module in the previous text including a first storage unit and a second storage unit, which are used to store different firmware systems, the first firmware system stored in the first storage unit can be taken as an example of the default loaded firmware system to illustrate the firmware control principle.

[0094] See also Fig.10 , Fig.10 It is a flowchart of another embodiment of the firmware control method of the present application.

[0095] S201: In response to a server being powered on, a baseboard management controller obtains device information of the server.

[0096] S202: The baseboard management controller identifies device information and determines whether it is in a preset environment.

[0097] In this embodiment, when it is determined that the server is in the preset environment, it can be considered that the server is more suitable for the second firmware system stored in the second storage unit, and step S203 is executed. When it is determined that the server is not in the preset environment, it can be considered that the server uses the first firmware system stored in the first storage unit, and step S204 is executed.

[0098] The preset environment may refer to one or more of the server configuration, GPU configuration, signal quality, transmission efficiency, transmission distance, etc., which are not limited here. When the server is turned on, control modules such as the baseboard management controller can detect the current environment to automatically switch to a more suitable firmware system, so as to ensure that expansion bus switches such as PCIe Switch can be in a better working state.

[0099] S203: The baseboard management controller determines to switch to the second storage unit.

[0100] S204: The baseboard management controller determines to switch to the first storage unit.

[0101] S205: The baseboard management controller sets a general input and output port.

[0102] In this embodiment, in response to the baseboard management controller determining to switch to the first storage unit, the baseboard management controller can control the connection pins between it and the storage module to be in the first state to link to the first storage unit, load the first firmware system in the first storage unit and load it.

[0103] In response to the baseboard management controller determining to switch to the second storage unit, the baseboard management controller can control the connection pin between it and the storage module to be in the second state to link to the second storage unit, load the second firmware system in the second storage unit and load it.

[0104] S206: The baseboard management controller controls the high-speed serial computer expansion bus standard switch to load the firmware system.

[0105] In this embodiment, the baseboard management controller (BMC) can control a high-speed serial computer expansion bus standard switch (PCIe Switch), and according to the control GPIO to turn on the connected storage unit, the PCIe Switch can load the firmware system stored in the corresponding storage unit.

[0106] It should be understood that although Figures 9 and 10 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, Figures 9 and 10At least part of the steps may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least part of the sub-steps or stages of other steps.

[0107] In one embodiment, a computer program product is provided, including a computer program. When the computer program is executed by a processor, the steps of the firmware control method described above are implemented, which will not be described in detail here.

[0108] See also Fig.11 , Fig.11 It is a structural diagram of an embodiment of a computer device of the present application.

[0109] In one embodiment, the computer device may be a server, and its internal structure diagram may be as follows: Fig.11 As shown in the example.

[0110] The computer device includes a processor, a memory, a network interface and a database connected through a system bus. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store data. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a firmware control method is implemented.

[0111] Those skilled in the art will understand that Fig.11 The structure shown as an example is merely a block diagram of a portion of the structure related to the present application solution, and does not constitute a limitation on the computer device to which the present application solution is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.

[0112] In one embodiment, a computer device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the following steps may be implemented:

[0113] S101: Obtain device information of the server.

[0114] S102: Matching a firmware system associated with the device information as a target firmware system.

[0115] S103: Load relevant data of the target firmware system and execute the data to load the target firmware system; wherein the relevant data includes a driver program.

[0116] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps can be implemented:

[0117] S101: Obtain device information of the server.

[0118] S102: Matching a firmware system associated with the device information as a target firmware system.

[0119] S103: Load relevant data of the target firmware system and execute the data to load the target firmware system; wherein the relevant data includes a driver program.

[0120] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in the present application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).

[0121] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0122] The above embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for ordinary technicians in this field, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application.

Claims

1. A firmware control system, characterized in that: The firmware control system includes: A storage module, used for storing a plurality of firmware systems; wherein each of the firmware systems comprises at least one set of related data, and the related data comprises a driver program; An input module, used to connect to the expansion bus switch to obtain device information of the expansion bus switch when the expansion bus switch is started; The control module is connected to the input module and the storage module respectively, and is used to obtain the device information of the server input from the input module, match the firmware system associated with the device information as the target firmware system; load the relevant data of the target firmware system and execute it to load the target firmware system.

2. The firmware control system according to claim 1, characterized in that: The storage module includes a first storage unit and a second storage unit; the first storage unit and the second storage unit are respectively connected to the control module; The first storage unit is used to store a first firmware system; The second storage unit is used to store a second firmware system; The first firmware system is different from the second firmware system; the first firmware system is applicable to a higher transmission distance than the second firmware system; and / or the second firmware system has a higher transmission efficiency than the first firmware system; The control module is used to obtain the device information of the server input from the input module when the server connected to the firmware system is started; parse and identify the graphics processor identifier carried in the device information, and match the first firmware system or the second firmware system associated with the graphics processor identifier; When the firmware system matching the graphics processor identifier is the first firmware system, the control module controls the connection pin between the control module and the storage module to be in the first state, so as to link to the first storage unit, load the first firmware system in the first storage unit and perform loading; When the firmware system matching the graphics processor identifier is the second firmware system, the control module controls the connection pin between it and the storage module to be in the second state to link to the second storage unit, load the second firmware system in the second storage unit and perform loading.

3. The firmware control system according to claim 1 or 2, characterized in that: The storage module includes a third storage unit and a fourth storage unit; The third storage unit is used to store a third firmware system, and the fourth storage unit is used to store the third firmware system; The third firmware system stored in the third storage unit is a main firmware system; the third firmware system stored in the fourth storage unit serves as a backup of the third firmware system stored in the third storage unit.

4. The firmware control system according to claim 3, characterized in that: The control module is used to monitor the running status of the main firmware system when the server connected to it starts loading the main firmware system into the expansion bus switch; When the control module identifies the running state and determines that the main firmware system runs abnormally, it controls the third firmware system loaded in the fourth storage unit to be loaded to update the third firmware system loaded in the expansion bus switch.

5. The firmware control system according to claim 1, characterized in that: The control module includes a first control unit; the first control unit is connected to the storage module and the input module respectively; The first control unit is used to identify the device information input by the input module, and control the selection of a firmware system matching the device information from the storage module as a target firmware system and load the firmware system.

6. The firmware control system according to claim 1 or 5, characterized in that: The control module includes a second control unit, and the second control unit is connected to the storage module; The second control unit is used to receive the target firmware system and execute relevant data of the target firmware system to install the target firmware system; The second control unit is also connected to the input module, and is used to obtain an input expansion bus signal, and perform signal processing and / or signal regeneration on the input expansion bus signal.

7. An expansion bus switch, characterized in that: The expansion bus switch comprises: Switch body; A firmware control system is arranged in the switch body; the firmware control system includes a storage module, an input module and a control module; the storage module is used to store multiple firmware systems; wherein each of the firmware systems includes at least one set of related data, and the related data includes a driver; the input module is used to connect to the expansion bus switch to obtain the device information of the expansion bus switch when the expansion bus switch is started; the control module is connected to the input module and the storage module respectively, and is used to obtain the device information of the server input from the input module, match the firmware system associated with the device information as the target firmware system; load the related data of the target firmware system and execute it to load the target firmware system.

8. A server, characterized in that: The server comprises: Server body; The expansion bus switch as described in claim 7 is arranged in the server body, and is used to identify the hardware configuration of the server body and select a firmware system adapted to the hardware configuration.

9. A firmware control method, applied to the firmware control system according to any one of claims 1 to 6, characterized in that: The firmware control method comprises: Obtaining device information of the server; Matching a firmware system associated with the device information as a target firmware system; The relevant data of the target firmware system is loaded and executed to load the target firmware system; wherein the relevant data includes a driver program.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the firmware control method of claim 9 are implemented.