A PCIe switch upgrading method, device, equipment and storage medium

CN116405387BActive Publication Date: 2026-08-21INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310469307.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-04-27
Publication Date
2026-08-21
Estimated Expiration
2043-04-27

AI Technical Summary

Technical Problem

然而,传统的PCIe Switch升级是通过IIC(Inter-IntegratedCircuit,集成电路总线)调用厂商的lib库的方式来实现的,上述升级方式需要手动进行并且需要消耗较长的时间,因此耗费了较多的人力、物力和时间成本,并且容易出现操作失误等问题

Benefits of technology

[0027]可见,本申请当检测到目标在位信号在位时,先将当前位于主板的调试模块的通用异步收发传输器通路切换至与预先创建的PCIe交换机升级模块相连的目标通用异步收发传输器通路,然后通过所述目标通用异步收发传输器通路将所述PCIe交换机升级模块生成的准备升级指令发送至位于所述主板的待升级PCIe交换机,并通过所述待升级PCIe交换机向所述PCIe交换机升级模块发送准备升级响应,当所述待升级PCIe交换机接收到所述PCIe交换机升级模块在接收到所述准备升级响应后发送的包含待升级固件的升级命令后,利用所述待升级固件对自身进行升级操作。本申请通过预先创建的具有高速传输、低延迟和可扩展性等特点的PCIe交换机升级模块,能够在不依赖于BMC及不打开机箱的情况下实现PCIe交换机的自动升级,简化了升级流程,减少了人工干预,并提高了升级效率和准确性,同时能够大大满足PCIe交换机的升级需求。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116405387B_ABST
    Figure CN116405387B_ABST
Patent Text Reader

Abstract

The application discloses a PCIe switch upgrading method and device, equipment and a storage medium, and relates to the technical field of computers, and comprises the following steps: when it is detected that a target in-place signal is in place, a universal asynchronous receiver-transmitter (UART) channel of a debugging module currently located on a mainboard is switched to a target UART channel connected with a PCIe switch upgrading module; a preparation upgrading instruction generated by the PCIe switch upgrading module is sent to a PCIe switch to be upgraded through the target UART channel, so that a preparation upgrading response is sent to the PCIe switch upgrading module; and after the PCIe switch to be upgraded receives an upgrading command containing a to-be-upgraded firmware sent by the PCIe switch upgrading module, upgrading operation is performed by using the to-be-upgraded firmware. Through the PCIe switch upgrading module created in advance, the application can realize automatic upgrading of the PCIe switch without relying on the BMC and without opening the case, so that the upgrading process is simplified, manual intervention is reduced, and the upgrading efficiency and accuracy are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a PCIe switch upgrade method, apparatus, device, and storage medium. Background Technology

[0002] A PCIe switch is a crucial piece of computer hardware, primarily used for managing, allocating, and transmitting data on the PCI-Express (Peripheral Component Interconnect Express, a high-speed serial computer expansion bus standard). To ensure the proper functioning of a PCIe switch, its software needs frequent upgrades. However, traditional PCIe switch upgrades are achieved by calling the vendor's library via IIC (Inter-Integrated Circuit). This method requires manual intervention and is time-consuming, consuming significant manpower, resources, and time, and is prone to operational errors.

[0003] Therefore, how to solve the problems of complex PCIe Switch upgrade process and long upgrade time is a problem that still needs to be solved in this field. Summary of the Invention

[0004] In view of this, the purpose of this application is to provide a PCIe switch upgrade method, apparatus, device, and storage medium, which can realize automatic upgrades of PCIe switches, simplify the upgrade process, reduce manual intervention, and improve upgrade efficiency and accuracy. The specific solution is as follows:

[0005] In a first aspect, this application discloses a PCIe switch upgrade method, including:

[0006] When the target presence signal is detected, the Universal Asynchronous Receiver / Transmitter (UART) path of the debug module currently located on the motherboard is switched to the target UART path connected to the pre-created PCIe switch upgrade module.

[0007] The PCIe switch upgrade module sends the upgrade preparation command generated by the target universal asynchronous transceiver (UART) path to the PCIe switch to be upgraded located on the motherboard, and sends the upgrade preparation response to the PCIe switch upgrade module through the PCIe switch to be upgraded.

[0008] When the PCIe switch to be upgraded receives an upgrade command containing the firmware to be upgraded sent by the PCIe switch upgrade module after receiving the upgrade preparation response, it uses the firmware to upgrade itself to perform an upgrade operation.

[0009] Optionally, before sending the preparation upgrade command generated by the PCIe switch upgrade module to the PCIe switch to be upgraded located on the motherboard via the target universal asynchronous transceiver path, the method further includes:

[0010] The handshake request generated by the PCIe switch upgrade module is sent to the PCIe switch to be upgraded located on the motherboard through the target universal asynchronous transceiver (UART) path, and after the handshake is successful, the PCIe switch to be upgraded sends a handshake success response to the PCIe switch upgrade module through the PCIe switch to be upgraded.

[0011] Optionally, switching the Universal Asynchronous Receiver / Transmitter (UART) path of the debug module currently located on the motherboard to the target UART path connected to the pre-created PCIe switch upgrade module includes:

[0012] The complex programmable logic device in the motherboard switches the UDP path of the debug module currently located on the motherboard to the target UDP path connected to the pre-created PCIe switch upgrade module.

[0013] Optionally, the PCIe switch upgrade module is connected to the complex programmable logic device in the motherboard via the target in-situ signal and the universal asynchronous transceiver bus.

[0014] Optionally, after upgrading itself using the firmware to be upgraded, the process further includes:

[0015] Determine whether the upgrade was successful. If the upgrade was successful, send a corresponding upgrade success signal to the PCIe switch upgrade module. If the upgrade failed, send a corresponding upgrade failure signal to the PCIe switch upgrade module.

[0016] Optionally, after upgrading itself using the firmware to be upgraded, the process further includes:

[0017] When the complex programmable logic device detects that the target presence signal is not present, it performs a restart operation to make the firmware to be upgraded effective.

[0018] Optionally, when the PCIe switch to be upgraded receives an upgrade command containing the firmware to be upgraded sent by the PCIe switch upgrade module after receiving the upgrade preparation response, the upgrade operation using the firmware to be upgraded includes:

[0019] When the PCIe switch to be upgraded receives an upgrade command containing the firmware to be upgraded from the PCIe switch upgrade module after receiving the upgrade preparation response within a first preset time, it uses the firmware to upgrade itself to perform an upgrade operation.

[0020] Secondly, this application discloses a PCIe switch upgrade device, comprising:

[0021] The path switching module is used to switch the Universal Asynchronous Receiver / Transmitter (UART) path of the debug module currently located on the motherboard to the target UART path connected to the pre-created PCIe switch upgrade module when the target presence signal is detected.

[0022] The instruction sending module is used to send the preparation upgrade instruction generated by the PCIe switch upgrade module to the PCIe switch to be upgraded located on the motherboard through the target universal asynchronous transceiver path.

[0023] The response sending module is used to send a preparation upgrade response to the PCIe switch upgrade module through the PCIe switch to be upgraded.

[0024] The PCIe switch upgrade module is used to upgrade itself using the firmware to be upgraded when the PCIe switch to be upgraded receives an upgrade command containing the firmware to be upgraded sent by the PCIe switch upgrade module after receiving the upgrade preparation response.

[0025] Thirdly, this application discloses an electronic device, including a processor and a memory; wherein, when the processor executes a computer program stored in the memory, it implements the aforementioned PCIe switch upgrade method.

[0026] Fourthly, this application discloses a computer-readable storage medium for storing a computer program; wherein, when the computer program is executed by a processor, it implements the aforementioned PCIe switch upgrade method.

[0027] As can be seen, when the target presence signal is detected, this application first switches the Universal Asynchronous Receiver / Transmitter (UART) path of the debug module currently located on the motherboard to the target UART path connected to the pre-created PCIe switch upgrade module. Then, through the target UART path, the upgrade preparation command generated by the PCIe switch upgrade module is sent to the PCIe switch to be upgraded located on the motherboard. The PCIe switch to be upgraded then sends an upgrade preparation response to the PCIe switch upgrade module. When the PCIe switch to be upgraded receives the upgrade command containing the firmware to be upgraded sent by the PCIe switch upgrade module after receiving the upgrade preparation response, it uses the firmware to upgrade itself. This application, through a pre-created PCIe switch upgrade module with high-speed transmission, low latency, and scalability, can achieve automatic PCIe switch upgrades without relying on the BMC or opening the chassis, simplifying the upgrade process, reducing manual intervention, and improving upgrade efficiency and accuracy, while greatly meeting the upgrade needs of PCIe switches. Attached Figure Description

[0028] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of this application. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.

[0029] Figure 1 This application discloses a flowchart of a PCIe switch upgrade method.

[0030] Figure 2 This is a schematic diagram illustrating the connection between a specific PCIe switch upgrade module and a motherboard disclosed in this application;

[0031] Figure 3 This application discloses a specific flowchart of a PCIe switch upgrade method.

[0032] Figure 4 This is a schematic diagram of the structure of a PCIe switch upgrade device disclosed in this application;

[0033] Figure 5 This is a structural diagram of an electronic device disclosed in this application. Detailed Implementation

[0034] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0035] This application discloses a PCIe switch upgrade method. See also Figure 1 As shown, the method includes:

[0036] Step S11: When the target presence signal is detected, switch the Universal Asynchronous Receiver / Transmitter (UART) path of the debug module currently located on the motherboard to the target UART path connected to the pre-created PCIe switch upgrade module.

[0037] In this embodiment, a pre-created PCIe switch automatic upgrade device is established. This device specifically includes a PCIe switch upgrade module and a connecting cable. The PCIe switch upgrade module may include a memory, a microcontroller, and a Universal Asynchronous Receiver / Transmitter (UART) interface. The connecting cable may be a UART bus. The memory can be used to store the firmware (FW) of the PCIe switch to be upgraded. See also... Figure 2 As shown, the PCIe switch upgrade module in this device can be connected to the Complex Programmable Logic Device (CPLD) on the motherboard containing the PCIe switch to be upgraded via a set of in-situ signals (i.e., Present signals) and a Universal Asynchronous Receiver / Transmitter Bus (i.e., UART bus), which features high-speed transmission, low latency, and portability. Specifically, the motherboard may include, but is not limited to, the CPLD, the PCIe switch, the BMC (Baseboard Management Controller), the BIOS (Basic Input Output System), and the NIC (Network Interface Card).

[0038] In this embodiment, when the complex programmable logic device in the motherboard detects the presence of the target presence signal, i.e., when the PCIe switch upgrade module is inserted, it first switches the Universal Asynchronous Receiver / Transmitter (UART) path of the debug module currently located in the motherboard to the target UART path connected to the PCIe switch upgrade module. Figure 2 Switch from UART1 to UART2 so that the PCIe switch can be upgraded via UART2 in the future.

[0039] Specifically, switching the UART path of the debug module currently located on the motherboard to the target UART path connected to the pre-created PCIe switch upgrade module can include: switching the UART path of the debug module currently located on the motherboard to the target UART path connected to the pre-created PCIe switch upgrade module via a complex programmable logic device (CPLD) on the motherboard. That is, the UART path of the PCIe switch upgrade module can be switched between other debug modules via a CPLD.

[0040] Step S12: Send the upgrade preparation command generated by the PCIe switch upgrade module to the PCIe switch to be upgraded located on the motherboard through the target universal asynchronous transceiver (UART) path, and send the upgrade preparation response to the PCIe switch upgrade module through the PCIe switch to be upgraded.

[0041] In this embodiment, after switching the Universal Asynchronous Receiver / Transmitter (UART) path of the debugging module currently located on the motherboard to the target UART path connected to the PCIe switch upgrade module, the PCIe switch upgrade module generates a corresponding upgrade preparation command and sends the upgrade preparation command to the PCIe switch to be upgraded located on the motherboard through the target UART path. When the PCIe switch to be upgraded receives the upgrade preparation command sent by the PCIe switch upgrade module, it further sends an upgrade preparation response to the PCIe switch upgrade module.

[0042] It should be noted that before sending the upgrade preparation command generated by the PCIe switch upgrade module to the PCIe switch to be upgraded located on the motherboard via the target Asynchronous Receiver / Transmitter (UART) path, the process further includes: sending the handshake request generated by the PCIe switch upgrade module to the PCIe switch to be upgraded located on the motherboard via the target UART path, and after a successful handshake, sending a handshake success response from the PCIe switch to the PCIe switch upgrade module via the PCIe switch to be upgraded. That is, before sending information, a handshake connection is established between the PCIe switch upgrade module and the PCIe switch to be upgraded. Specifically, the handshake request generated by the PCIe switch upgrade module is first sent to the PCIe switch to be upgraded located on the motherboard via the target UART path, and then, after a successful handshake, a handshake success response is sent from the PCIe switch to the PCIe switch upgrade module via the PCIe switch to be upgraded.

[0043] Step S13: When the PCIe switch to be upgraded receives the upgrade command containing the firmware to be upgraded sent by the PCIe switch upgrade module after receiving the upgrade preparation response, it uses the firmware to upgrade itself to perform the upgrade operation.

[0044] In this embodiment, after the PCIe switch upgrade module receives the above-mentioned upgrade preparation response, it will send an upgrade command to the PCIe switch to be upgraded. The upgrade command contains the firmware to be upgraded. Furthermore, after the PCIe switch to be upgraded receives the upgrade command sent by the PCIe switch upgrade module, it can use the firmware to be upgraded in the upgrade command to perform an upgrade operation on itself.

[0045] Furthermore, after performing the upgrade operation using the firmware to be upgraded, the process may further include: determining whether the upgrade was successful; if successful, sending a corresponding upgrade success signal to the PCIe switch upgrade module; if unsuccessful, sending a corresponding upgrade failure signal to the PCIe switch upgrade module. In this embodiment, after performing the upgrade operation on the PCIe switch using the firmware to be upgraded, it is possible to further determine whether the PCIe switch upgrade was successful. If the PCIe switch upgrade was successful, a corresponding upgrade success signal is sent to the PCIe switch upgrade module, at which point the PCIe switch automatic upgrade device can be disconnected; if the PCIe switch upgrade failed, a corresponding upgrade failure signal is sent to the PCIe switch upgrade module.

[0046] Additionally, after upgrading itself using the firmware to be upgraded, the process may further include: when the complex programmable logic device detects that the target presence signal is not present, performing a restart operation to make the firmware to be upgraded effective. In this embodiment, when the PCIe switch upgrade is successful and the PCIe switch automatic upgrade device is unplugged, the complex programmable logic device in the motherboard can detect that the target presence signal is not present. At this time, a restart operation can be performed on the current host, such as a server, to make the firmware to be upgraded effective.

[0047] As can be seen from the above, the PCIe switch upgrade module and the motherboard in this embodiment are connected via a UART bus. Compared to the traditional method of connecting the BMC to the PCIe switch via IIC and then upgrading by calling the lib library, the UART bus, with its advantages of high-speed transmission, low latency, and portability, is more suitable for automatic PCIe switch upgrades. It can shorten the upgrade time to a few minutes, far less than the hourly upgrade speed of traditional methods. On the other hand, the automatic PCIe switch upgrade device created in this application is highly portable and suitable for various data center environments. It can quickly upgrade PCIe switches without relying on the BMC or opening the chassis.

[0048] As can be seen, in this embodiment, when the target presence signal is detected, the Universal Asynchronous Receiver / Transmitter (UART) path of the debug module currently located on the motherboard is first switched to the target UART path connected to the pre-created PCIe switch upgrade module. Then, the upgrade preparation command generated by the PCIe switch upgrade module is sent to the PCIe switch to be upgraded located on the motherboard through the target UART path. The PCIe switch to be upgraded sends an upgrade preparation response to the PCIe switch upgrade module. When the PCIe switch to be upgraded receives the upgrade command containing the firmware to be upgraded sent by the PCIe switch upgrade module after receiving the upgrade preparation response, it uses the firmware to upgrade itself. This embodiment, through a pre-created PCIe switch upgrade module with high-speed transmission, low latency, and scalability, can achieve automatic PCIe switch upgrades without relying on the BMC or opening the chassis, simplifying the upgrade process, reducing manual intervention, and improving upgrade efficiency and accuracy, while greatly meeting the upgrade needs of PCIe switches.

[0049] This application discloses a specific PCIe switch upgrade method. (See also...) Figure 2 As shown, the method includes:

[0050] Step S21: When the target presence signal is detected, the general asynchronous transceiver path of the debug module currently located on the motherboard is switched to the target general asynchronous transceiver path connected to the pre-created PCIe switch upgrade module through the complex programmable logic device in the motherboard.

[0051] Step S22: Send the handshake request generated by the PCIe switch upgrade module to the PCIe switch to be upgraded located on the motherboard through the target universal asynchronous transceiver (UART) path, and after the handshake is successful, send a handshake success response to the PCIe switch upgrade module through the PCIe switch to be upgraded.

[0052] In this embodiment, after switching the Universal Asynchronous Receiver / Transmitter (UART) path of the debugging module currently located on the motherboard to the target UART path connected to the pre-created PCIe switch upgrade module, the PCIe switch upgrade module generates a corresponding handshake request and sends the handshake request to the PCIe switch to be upgraded on the motherboard through the aforementioned target UART path. Furthermore, the PCIe switch upgrade module will continue to determine whether it can obtain a response from the PCIe switch to be upgraded within a preset time. If it does, it indicates that the handshake between the two is successful; otherwise, it indicates that the handshake between the two has failed.

[0053] Step S23: Send the upgrade preparation command generated by the PCIe switch upgrade module to the PCIe switch to be upgraded located on the motherboard through the target universal asynchronous transceiver (UART) path, and send the upgrade preparation response to the PCIe switch upgrade module through the PCIe switch to be upgraded.

[0054] In this embodiment, after the PCIe switch upgrade module and the PCIe switch to be upgraded successfully handshake, the PCIe switch upgrade module can further generate a preparation upgrade command and send it to the PCIe switch to be upgraded in the motherboard. It can then determine whether a response can be obtained from the PCIe switch to be upgraded within a preset time. If a response is obtained, it indicates that the preparation upgrade command was successfully sent; otherwise, it indicates that the preparation upgrade command failed to be sent.

[0055] Step S24: When the PCIe switch to be upgraded receives an upgrade command containing the firmware to be upgraded from the PCIe switch upgrade module after receiving the upgrade preparation response within a first preset time within a second preset time within a second preset time, it uses the firmware to be upgraded to perform an upgrade operation on itself.

[0056] In this embodiment, when the PCIe switch to be upgraded receives the upgrade command sent by the PCIe switch upgrade module within a first preset time, such as 1 minute, and within a second preset time, such as 3 seconds, after receiving the upgrade preparation response, the upgrade operation is further performed using the firmware to be upgraded in the upgrade command.

[0057] Step S25: When the complex programmable logic device detects that the target presence signal is not present, a restart operation is performed to make the firmware to be upgraded effective.

[0058] For more detailed processing procedures of steps S21 and S25, please refer to the corresponding content disclosed in the foregoing embodiments, which will not be repeated here.

[0059] As can be seen, the embodiments of this application, through the pre-created PCIe switch upgrade module with features such as high-speed transmission, low latency, and scalability, can quickly upgrade PCIe switches without relying on the BMC or opening the chassis, shortening the upgrade time. Furthermore, it is applicable to various data center environments where customers are located, reduces manual intervention, and can greatly meet the upgrade needs of various devices containing PCIe switches.

[0060] For example, when upgrading a PCIe switch, a pre-created PCIe switch upgrade module can be manually connected to the motherboard containing the PCIe switch to be upgraded. At this point, the CPLD in the motherboard can detect an presence signal, indicating that the PCIe switch upgrade module has been connected, and switches the current UART path to the PCIe switch upgrade module's UART path. Then, the PCIe switch upgrade module sends a handshake request to the PCIe switch and checks for a response within a preset time (e.g., 3 seconds). If a response is received, it continues to send an upgrade preparation command to the PCIe switch. The system then checks for a response within a preset time (e.g., 3 seconds). If a response is received, it sends the firmware to be upgraded to the PCIe switch. If a response is received within a preset time (e.g., 1 minute), it sends an upgrade command to the PCIe switch. The PCIe switch then performs the upgrade using the firmware. Once the PCIe switch upgrade module receives a successful PCIe upgrade signal within a preset time (e.g., 3 minutes), the PCIe switch upgrade module can be removed. The host will detect that the presence signal (i.e., the Present signal) is not present. At this point, the server can be restarted to make the newly input firmware take effect.

[0061] Accordingly, this application also discloses a PCIe switch upgrade device, see [link to relevant documentation]. Figure 4 As shown, the device includes:

[0062] The path switching module 11 is used to switch the Universal Asynchronous Receiver / Transmitter (UART) path of the debug module currently located on the motherboard to the target UART path connected to the pre-created PCIe switch upgrade module when the target presence signal is detected.

[0063] The instruction sending module 12 is used to send the preparation upgrade instruction generated by the PCIe switch upgrade module to the PCIe switch to be upgraded located on the motherboard through the target universal asynchronous transceiver path.

[0064] The response sending module 13 is used to send a preparation for upgrade response to the PCIe switch upgrade module through the PCIe switch to be upgraded.

[0065] PCIe switch upgrade module 14 is used to upgrade itself using the firmware to be upgraded when the PCIe switch to be upgraded receives an upgrade command containing the firmware to be upgraded sent by the PCIe switch upgrade module after receiving the ready-to-upgrade response.

[0066] The specific workflow of each of the above modules can be found in the relevant content disclosed in the foregoing embodiments, and will not be repeated here.

[0067] As can be seen, in this embodiment, when the target presence signal is detected, the Universal Asynchronous Receiver / Transmitter (UART) path of the debug module currently located on the motherboard is first switched to the target UART path connected to the pre-created PCIe switch upgrade module. Then, the upgrade preparation command generated by the PCIe switch upgrade module is sent to the PCIe switch to be upgraded located on the motherboard through the target UART path. The PCIe switch to be upgraded sends an upgrade preparation response to the PCIe switch upgrade module. When the PCIe switch to be upgraded receives the upgrade command containing the firmware to be upgraded sent by the PCIe switch upgrade module after receiving the upgrade preparation response, it uses the firmware to upgrade itself. This embodiment, through a pre-created PCIe switch upgrade module with high-speed transmission, low latency, and scalability, enables automatic upgrades of PCIe switches without relying on the BMC or opening the chassis. This simplifies the upgrade process, reduces manual intervention, and improves upgrade efficiency and accuracy, while greatly meeting the upgrade requirements of PCIe switches.

[0068] In some specific embodiments, before the instruction sending module 12, there may be:

[0069] A handshake request sending unit is used to send the handshake request generated by the PCIe switch upgrade module to the PCIe switch to be upgraded located on the motherboard through the target universal asynchronous transceiver path.

[0070] The handshake success response sending unit is used to send a handshake success response to the PCIe switch upgrade module through the PCIe switch to be upgraded after a successful handshake.

[0071] In some specific embodiments, the path switching module 11 may specifically include:

[0072] The path switching unit is used to switch the current Asynchronous Receiver / Transmitter (ART) path of the debug module located on the motherboard to the target ART path connected to a pre-created PCIe switch upgrade module via complex programmable logic devices in the motherboard.

[0073] In some specific embodiments, the PCIe switch upgrade module is connected to the complex programmable logic device in the motherboard via the target in-situ signal and the universal asynchronous transceiver bus.

[0074] In some specific embodiments, the PCIe switch upgrade module 14 may further include:

[0075] The upgrade success determination unit is used to determine whether the upgrade was successful.

[0076] A success signal sending unit is used to send a corresponding upgrade success signal to the PCIe switch upgrade module if the upgrade is successful.

[0077] The failure signal sending unit is used to send a corresponding upgrade failure signal to the PCIe switch upgrade module if the upgrade fails.

[0078] In some specific embodiments, the PCIe switch upgrade module 14 may further include:

[0079] The restart unit is used to perform a restart operation when the complex programmable logic device detects that the target presence signal is not present, so as to make the firmware to be upgraded effective.

[0080] In some specific embodiments, the PCIe switch upgrade module 14 may specifically include:

[0081] The PCIe switch upgrade unit is used to upgrade itself using the firmware to be upgraded after the PCIe switch to be upgraded receives an upgrade command containing the firmware to be upgraded from the PCIe switch upgrade module after receiving the upgrade preparation response within a first preset time within a second preset time within a second preset time.

[0082] Furthermore, embodiments of this application also disclose an electronic device, Figure 5 This is a structural diagram of an electronic device 20 according to an exemplary embodiment. The content of the diagram should not be construed as limiting the scope of this application.

[0083] Figure 5 This is a schematic diagram of the structure of an electronic device 20 provided in an embodiment of this application. Specifically, the electronic device 20 may include: at least one processor 21, at least one memory 22, a power supply 23, a communication interface 24, an input / output interface 25, and a communication bus 26. The memory 22 stores a computer program, which is loaded and executed by the processor 21 to implement the relevant steps in the PCIe switch upgrade method disclosed in any of the foregoing embodiments. Alternatively, the electronic device 20 in this embodiment may specifically be a computer.

[0084] In this embodiment, the power supply 23 is used to provide operating voltage for each hardware device on the electronic device 20; the communication interface 24 can create a data transmission channel between the electronic device 20 and external devices, and the communication protocol it follows can be any communication protocol applicable to the technical solution of this application, and is not specifically limited here; the input / output interface 25 is used to acquire external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs, and is not specifically limited here.

[0085] In addition, the memory 22, as a carrier for resource storage, can be a read-only memory, random access memory, disk or optical disk, etc. The resources stored thereon can include operating system 221, computer program 222, etc., and the storage method can be temporary storage or permanent storage.

[0086] The operating system 221 is used to manage and control the various hardware devices on the electronic device 20 and the computer program 222, which may be Windows Server, Netware, Unix, Linux, etc. In addition to including a computer program capable of performing the PCIe switch upgrade method executed by the electronic device 20 as disclosed in any of the foregoing embodiments, the computer program 222 may further include computer programs capable of performing other specific tasks.

[0087] Furthermore, this application also discloses a computer-readable storage medium for storing a computer program; wherein, when the computer program is executed by a processor, it implements the aforementioned disclosed PCIe switch upgrade method. Specific steps of this method can be found in the corresponding content disclosed in the foregoing embodiments, and will not be repeated here.

[0088] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to in the method section.

[0089] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0090] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein can be implemented directly by hardware, a software module executed by a processor, or a combination of both. The software module can be located in random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.

[0091] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0092] The above provides a detailed description of a PCIe switch upgrade method, apparatus, device, and storage medium provided in this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.

Claims

1. A method for upgrading a PCIe switch, characterized in that, include: When the target presence signal is detected, the Universal Asynchronous Receiver / Transmitter (UART) path of the debug module currently located on the motherboard is switched to the target UART path connected to the pre-created PCIe switch upgrade module. The target presence signal is used to indicate whether the PCIe switch upgrade module has been inserted into the motherboard. The PCIe switch upgrade module generates a preparation upgrade command through the target universal asynchronous transceiver path and sends it to the PCIe switch to be upgraded located on the motherboard. The PCIe switch to be upgraded sends a preparation upgrade response to the PCIe switch upgrade module through the PCIe switch to be upgraded. When the PCIe switch to be upgraded receives an upgrade command containing the firmware to be upgraded sent by the PCIe switch upgrade module after receiving the upgrade preparation response, it uses the firmware to upgrade itself to perform an upgrade operation.

2. The PCIe switch upgrade method according to claim 1, characterized in that, Before sending the preparation upgrade command generated by the PCIe switch upgrade module to the PCIe switch to be upgraded located on the motherboard via the target universal asynchronous transceiver (UART) path, the process further includes: The handshake request generated by the PCIe switch upgrade module is sent to the PCIe switch to be upgraded located on the motherboard through the target universal asynchronous transceiver (UART) path, and after the handshake is successful, the PCIe switch to be upgraded sends a handshake success response to the PCIe switch upgrade module through the PCIe switch to be upgraded.

3. The PCIe switch upgrade method according to claim 1, characterized in that, The step of switching the Universal Asynchronous Receiver / Transmitter (UART) path of the debug module currently located on the motherboard to the target UART path connected to the pre-created PCIe switch upgrade module includes: The complex programmable logic device in the motherboard switches the current Asynchronous Receiver / Transmitter (ART) path of the debug module located on the motherboard to the target ART path connected to the pre-created PCIe switch upgrade module.

4. The PCIe switch upgrade method according to claim 3, characterized in that, The PCIe switch upgrade module is connected to the complex programmable logic device in the motherboard via the target in-situ signal and the universal asynchronous transceiver bus.

5. The PCIe switch upgrade method according to claim 3, characterized in that, After upgrading itself using the firmware to be upgraded, the process further includes: Determine whether the upgrade was successful. If the upgrade was successful, send a corresponding upgrade success signal to the PCIe switch upgrade module. If the upgrade failed, send a corresponding upgrade failure signal to the PCIe switch upgrade module.

6. The PCIe switch upgrade method according to claim 5, characterized in that, After upgrading itself using the firmware to be upgraded, the process further includes: When the complex programmable logic device detects that the target presence signal is not present, it performs a restart operation to make the firmware to be upgraded effective.

7. The PCIe switch upgrade method according to any one of claims 1 to 6, characterized in that, When the PCIe switch to be upgraded receives an upgrade command containing the firmware to be upgraded sent by the PCIe switch upgrade module after receiving the upgrade preparation response, it performs an upgrade operation on itself using the firmware to be upgraded, including: When the PCIe switch to be upgraded receives an upgrade command containing the firmware to be upgraded from the PCIe switch upgrade module after receiving the upgrade preparation response within a first preset time, it uses the firmware to upgrade itself to perform an upgrade operation.

8. A PCIe switch upgrade device, characterized in that, include: The path switching module is used to switch the Universal Asynchronous Receiver / Transmitter (UART) path of the debug module currently located on the motherboard to the target UART path connected to the pre-created PCIe switch upgrade module when the target presence signal is detected. The target presence signal is used to indicate whether the PCIe switch upgrade module has been inserted into the motherboard. The instruction sending module is used to send the preparation upgrade instruction generated by the PCIe switch upgrade module to the PCIe switch to be upgraded located on the motherboard through the target universal asynchronous transceiver path. The response sending module is used to send a preparation upgrade response to the PCIe switch upgrade module through the PCIe switch to be upgraded. The PCIe switch upgrade module is used to upgrade itself using the firmware to be upgraded when the PCIe switch to be upgraded receives an upgrade command containing the firmware to be upgraded sent by the PCIe switch upgrade module after receiving the ready-to-upgrade response.

9. An electronic device, characterized in that, It includes a processor and a memory; wherein, when the processor executes a computer program stored in the memory, it implements the PCIe switch upgrade method as described in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, Used to store computer programs; wherein, when the computer programs are executed by a processor, they implement the PCIe switch upgrade method as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Method for quickly upgrading board card firmware of GNSS receiver

    CN107885513A

  • Automatic firmware burning system and method

    CN114253561A