WO2024066438A1 - Firmware upgrade method and apparatus - Google Patents

Firmware upgrade method and apparatus Download PDF

Info

Publication number
WO2024066438A1
WO2024066438A1 PCT/CN2023/097815 CN2023097815W WO2024066438A1 WO 2024066438 A1 WO2024066438 A1 WO 2024066438A1 CN 2023097815 W CN2023097815 W CN 2023097815W WO 2024066438 A1 WO2024066438 A1 WO 2024066438A1
Authority
WO
WIPO (PCT)
Prior art keywords
management unit
pcie device
pcie
firmware
protocol interface
Prior art date
Application number
PCT/CN2023/097815
Other languages
French (fr)
Chinese (zh)
Inventor
李宇涛
Original Assignee
超聚变数字技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 超聚变数字技术有限公司 filed Critical 超聚变数字技术有限公司
Publication of WO2024066438A1 publication Critical patent/WO2024066438A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Definitions

  • the present application relates to the field of computer technology, and in particular to a firmware upgrade method and device.
  • PCIE devices are PCIE peripherals of computer products, such as the central processing unit (CPU) system of a server, which realizes various functions such as network connection, storage access, and graphics processing.
  • CPU central processing unit
  • PCIE devices With the diversification of business and the complexity of applications, PCIE devices have more and more functions, and the internal architecture has become more and more complex, and the probability of problems has also increased.
  • PCIE devices often need to upgrade firmware to add new functions or fix problems. However, the existing firmware upgrade process is complicated and the firmware upgrade efficiency is low.
  • the embodiments of the present application provide a firmware upgrade method and device, which eliminates the dependence and constraints of the firmware upgrade of the PCIE device on the OS, improves the usability and maintainability of the PCIE device, simplifies the upgrade process, and improves the upgrade efficiency.
  • an embodiment of the present application provides a firmware upgrade method, including: a device management unit sends a firmware upgrade command to a PCIE device through an I3C protocol interface; receives a response message sent by the PCIE device through the I3C protocol interface; sends a firmware file to the PCIE device through the I3C protocol interface, and the firmware file is used by the PCIE device to upgrade the current firmware.
  • the device management unit communicates with the PCIE device through the I3C protocol interface to implement the firmware upgrade of the PCIE device, get rid of the dependence and constraints of the firmware upgrade of the PCIE device on the OS, and improve the usability and maintainability of the PCIE device.
  • the firmware of one or more PCIE devices is upgraded using an out-of-band communication method, which simplifies the upgrade process and improves the efficiency of the upgrade.
  • the device management unit receives an upgrade completion message sent by the PCIE device through the I3C protocol interface.
  • the device management unit is prevented from repeatedly upgrading the current firmware of the PCIE device, thereby improving the efficiency of the upgrade.
  • the device management unit receives an interrupt request sent by the PCIE device through the I3C protocol interface; sends an interrupt response to the PCIE device through the I3C protocol interface, and the interrupt response is used to indicate that the PCIE device is allowed to send an upgrade completion message to the device management unit.
  • the PCIE device uses an interrupt operation in the extended I3C communication protocol to notify the device management unit of the upgrade completion message in an out-of-band communication manner, thereby simplifying the upgrade process and improving the efficiency of the upgrade.
  • the device management unit sends a query request to the PCIE device through the I3C protocol interface, and the query request is used by the PCIE device to determine whether the current firmware upgrade is completed; if the PCIE device completes the upgrade of the current firmware, the device management unit receives the upgrade completion message sent by the PCIE device through the I3C protocol interface, and if the PCIE device does not complete the upgrade of the current firmware, the device management unit receives the waiting message sent by the PCIE device through the I3C protocol interface.
  • the device management unit realizes the query of the firmware upgrade status of the PCIE device through the read operation in the extended I3C communication protocol, and realizes the monitoring and management of the firmware upgrade status of the PCIE device, which not only gets rid of the dependence and constraints of the firmware upgrade of the PCIE device on the OS, improves the usability and maintainability of the PCIE device, but also simplifies the query process and improves the query efficiency.
  • the device management unit sends a query command to the PCIE device through the I3C protocol interface and receives a query response from the PCIE device through the I3C protocol interface, so as to allow the device management unit to send a query request to the PCIE device through the I3C protocol interface.
  • the device management unit sends a firmware upgrade command to at least two PCIE devices in the PCIE device group through an I3C protocol interface.
  • the device management unit sends a firmware upgrade command to all PCIE devices on the I3C bus through an I3C protocol interface.
  • the response message includes confirmation information and negative confirmation information
  • the confirmation response is used to indicate that the current firmware meets the upgrade conditions
  • the negative confirmation information is used to indicate that the current firmware does not meet the upgrade conditions
  • the device management unit sends the firmware file to the PCIE device through the I3C protocol interface.
  • an embodiment of the present application provides a firmware upgrade method, including: a PCIE device receives a firmware upgrade command sent by a device management unit through an I3C protocol interface; the PCIE device sends a response message to the device management unit through the I3C protocol interface; the PCIE device receives a firmware file sent by the device management unit through the I3C protocol interface; the PCIE device upgrades the current firmware according to the firmware file.
  • the device management unit communicates with the PCIE device through the I3C protocol interface to implement the firmware upgrade of the PCIE device, gets rid of the dependence and constraints of the firmware upgrade of the PCIE device on the OS, and improves the usability and maintainability of the PCIE device.
  • the firmware of one or more PCIE devices is upgraded using an out-of-band communication method, which simplifies the upgrade process and improves the efficiency of the upgrade.
  • the PCIE device sends an upgrade completion message to the device management unit via the I3C protocol interface.
  • the device management unit is prevented from repeatedly upgrading the current firmware of the PCIE device, thereby improving the efficiency of the upgrade.
  • the PCIE device sends an interrupt request to the device management unit through the I3C protocol interface; the PCIE device receives an interrupt response sent by the device management unit through the I3C protocol interface, and the interrupt response is used to indicate that the PCIE device is allowed to send an upgrade completion message.
  • the PCIE device uses an interrupt operation in the extended I3C communication protocol to notify the device management unit of the upgrade completion message in an out-of-band communication manner, thereby simplifying the upgrade process and improving the efficiency of the upgrade.
  • the PCIE device receives a query request sent by the device management unit through the I3C protocol interface; the PCIE device determines whether the current firmware upgrade is completed according to the query request; if the PCIE device completes the current firmware upgrade, the PCIE device sends an upgrade completion message to the device management unit through the I3C protocol interface; if the PCIE device does not complete the current firmware upgrade, the PCIE device sends a waiting message to the device management unit through the I3C protocol interface.
  • the device management unit realizes the query of the firmware upgrade status of the PCIE device through the read operation in the extended I3C communication protocol, realizes the monitoring and management of the firmware upgrade status of the PCIE device, which not only gets rid of the dependence and constraint of the firmware upgrade of the PCIE device on the OS, improves the usability and maintainability of the PCIE device, but also simplifies the query process and improves the query efficiency.
  • the PCIE device receives the query command sent by the device management unit through the I3C protocol interface; the PCIE device sends a query response to the device management unit through the I3C protocol interface, so as to allow the device management unit to send a query request to the PCIE device through the I3C protocol interface.
  • the response message includes confirmation information and negative confirmation information
  • the PCIE device determines whether the current firmware meets the upgrade conditions; if the current firmware meets the upgrade conditions, the PCIE device sends confirmation information to the device management unit through the I3C protocol interface; if the current firmware does not meet the upgrade conditions, the PCIE device sends negative confirmation information to the device management unit through the I3C protocol interface.
  • the PCIE device receives the firmware file sent by the device management unit through the I3C protocol interface. By determining that the current firmware of the PCIE device meets the upgrade conditions, the firmware file is received for upgrading, ensuring that the PCIE device successfully upgrades the current firmware.
  • an embodiment of the present application provides a firmware upgrade device, including:
  • the sending module is used to send a firmware upgrade command to the PCIE device through the I3C protocol interface;
  • a receiving module is used to receive a response message sent by a PCIE device through an I3C protocol interface
  • the sending module is also used to send a firmware file to the PCIE device through the I3C protocol interface.
  • the firmware file is used by the PCIE device to upgrade the current firmware.
  • the receiving module is also used to receive an upgrade completion message sent by the PCIE device through an I3C protocol interface.
  • the receiving module is further used to receive an interrupt request sent by the PCIE device through the I3C protocol interface; the sending module is further used to send an interrupt response to the PCIE device through the I3C protocol interface, and the interrupt response is used to indicate that the PCIE device is allowed to send an upgrade completion message.
  • the sending module is also used to send a query request to the PCIE device through the I3C protocol interface, and the query request is used by the PCIE device to determine whether the upgrade of the current firmware is completed; the receiving module is also used to receive the upgrade completion message sent by the PCIE device through the I3C protocol interface if the PCIE device has completed the upgrade of the current firmware, and receive the waiting message sent by the PCIE device through the I3C protocol interface if the PCIE device has not completed the upgrade of the current firmware.
  • the sending module is further used to send a query command to the PCIE device through the I3C protocol interface; the receiving module is further used to receive a query response sent by the PCIE device through the I3C protocol interface.
  • the sending module is further used to send a firmware upgrade command to at least two PCIE devices in the PCIE device group through an I3C protocol interface.
  • the sending module is also used to send a firmware upgrade command to all PCIE devices on the I3C bus through the I3C protocol interface.
  • the response message includes confirmation information and negative confirmation information
  • the confirmation response is used to indicate that the current firmware meets the upgrade conditions
  • the negative confirmation information is used to indicate that the current firmware does not meet the upgrade conditions
  • the sending module is also used to send the firmware file to the PCIE device through the I3C protocol interface if the response message is confirmation information.
  • the operations and beneficial effects performed by the firmware upgrade device can refer to the method and beneficial effects of the first aspect mentioned above, and the repeated parts will not be repeated.
  • an embodiment of the present application provides a firmware upgrade device, including:
  • a receiving module used for receiving a firmware upgrade command sent by a device management unit through an I3C protocol interface
  • a sending module used for sending a response message to the device management unit through an I3C protocol interface
  • the receiving module is also used to receive the firmware file sent by the device management unit through the I3C protocol interface;
  • the processing module is used to upgrade the current firmware according to the firmware file.
  • the sending module is also used to send an upgrade completion message to the device management unit through the I3C protocol interface.
  • the sending module is also used to send an interrupt request to the device management unit through the I3C protocol interface; the receiving module is also used to receive an interrupt response sent by the device management unit through the I3C protocol interface, and the interrupt response is used to indicate that the PCIE device is allowed to send an upgrade completion message.
  • the receiving module is also used to receive a query request sent by the device management unit through the I3C protocol interface; the processing module is also used to determine whether the current firmware is upgraded based on the query request; the sending module is also used to send an upgrade completion message to the device management unit through the I3C protocol interface if the PCIE device has completed upgrading the current firmware, and send a waiting message to the device management unit through the I3C protocol interface if the PCIE device has not completed upgrading the current firmware.
  • the receiving module is further used to receive a query command sent by the device management unit through the I3C protocol interface; the sending module is further used to send a query response to the device management unit through the I3C protocol interface.
  • the response message includes confirmation information and negative confirmation information.
  • the processing module is also used to determine whether the current firmware meets the upgrade conditions
  • the sending module is used to send confirmation information to the device management unit through the I3C protocol interface if the current firmware meets the upgrade conditions; if the current firmware does not meet the upgrade conditions, send negative confirmation information to the device management unit through the I3C protocol interface.
  • the receiving module is also used to, if the current firmware meets the upgrade conditions, enable the PCIE device to receive the firmware file sent by the device management unit through the I3C protocol interface.
  • the operations and beneficial effects performed by the firmware upgrade device can refer to the method and beneficial effects of the second aspect mentioned above, and the repeated parts will not be repeated.
  • the present application provides a device management unit, which includes a processor and a memory, the memory being used to store computer-executable instructions; the processor being used to execute the computer-executable instructions stored in the memory, so that the device management unit performs a method such as any one of the methods in the first aspect.
  • the present application provides a PCIE device, the PCIE device comprising a processor and a memory, the memory being used to store computer execution instructions; the processor being used to execute the computer execution instructions stored in the memory, so that the PCIE device executes a method such as any one of the methods in the second aspect.
  • the present application provides a computer-readable storage medium for storing a computer program.
  • the computer program When the computer program is executed, the method of any one of the first and second aspects is implemented.
  • the present application provides a computer program product comprising a computer program, which, when executed, enables the method of any one of the first and second aspects to be implemented.
  • the present application provides a firmware upgrade system, the firmware upgrade system comprising a device management unit and a PCIE device, the device management unit is used to execute a method such as any one of the first aspect, and the PCIE device is used to execute a method such as any one of the second aspect.
  • FIG1 is a schematic diagram of the architecture of a firmware upgrade system provided in an embodiment of the present application.
  • FIG2 is a schematic diagram of a write operation command timing provided by an embodiment of the present application.
  • FIG3 is a schematic diagram of another write operation command timing provided by an embodiment of the present application.
  • FIG4 is a schematic diagram of another write operation command timing provided by an embodiment of the present application.
  • FIG5 is a schematic diagram of an interrupt operation command timing provided by an embodiment of the present application.
  • FIG6 is a schematic diagram of a data format of a target required data byte field provided in an embodiment of the present application.
  • FIG7 is a schematic diagram of a read operation command timing provided by an embodiment of the present application.
  • FIG8 is a flowchart of a firmware upgrade method provided in an embodiment of the present application.
  • FIG9 is a schematic diagram of a file format of a firmware file provided in an embodiment of the present application.
  • FIG10 is a flow chart of another firmware upgrade method provided in an embodiment of the present application.
  • FIG11 is a flow chart of another firmware upgrade method provided in an embodiment of the present application.
  • FIG12 is a schematic diagram of a firmware upgrade device provided in an embodiment of the present application.
  • FIG13 is a schematic diagram of another firmware upgrade device provided in an embodiment of the present application.
  • FIG. 14 is a schematic diagram of the structure of a device management unit provided in an embodiment of the present application.
  • FIG. 15 is a schematic diagram of the structure of a PCIE device provided in an embodiment of the present application.
  • Inter Integrated Circuit (I2C) bus a two-wire synchronous serial bus that adopts a master-slave communication mechanism, uses a serial clock line (SCL) and a serial data line (SDA) for communication, supports multiple nodes connected to the same bus, and distinguishes each node by physical address.
  • SCL serial clock line
  • SDA serial data line
  • I3C Inter Integrated Circuit
  • the I3C bus has the same physical form as the I2C bus, uses SCL and SDA for communication, and is backward compatible with I2C.
  • the I3C bus has a high data rate, supports dynamic address allocation to support multiple nodes with the same physical address to share the bus, and supports an interrupt mechanism to actively send data from the node to the master node.
  • Firmware Code running on the chip of a PCIE device, used to implement the functions of the PCIE device.
  • firmware of a network card can be used to implement the network connection, message sending and receiving, and protocol unloading of the network card.
  • Out-of-band is a description relative to the service interface PCIE (called in-band), that is, the native PCIE communication method is not used, such as accessing the PCIE configuration space of the PCIE device.
  • Out-of-band communication refers to communication achieved through the out-of-band interface protocol of the PCIE device.
  • the out-of-band interface protocol includes but is not limited to the System Management Bus (System Management Bus, SMBus), I3C, Network Controller Sideband Interface (Network Controller Sideband Interface, NC-SI), etc.
  • PCIE devices need to upgrade their firmware to add new functions or fix problems.
  • the firmware of PCIE devices can be upgraded in the following ways: First, use the manufacturer's tool to upgrade the firmware of the PCIE device. Among them, the manufacturer's tool is installed and runs on the operating system (OS), and the OS is installed and runs on the CPU system of the server. The manufacturer's tool communicates with the firmware of the PCIE device through the PCIE interface, transfers the firmware file to be upgraded to the PCIE device, and instructs the PCIE device to upgrade. However, the manufacturer's tool is installed and runs in the OS, and there is a coupling relationship with the OS version.
  • OS operating system
  • the manufacturer needs to develop and maintain supporting tools for each OS for firmware upgrade, which is a lot of work, and the firmware upgrade function of the PCIE device has application limitations.
  • the firmware of the PCIE device is upgraded through out-of-band communication.
  • the existing out-of-band interface protocol is complex in level, has a large overhead, and the firmware upgrade process is complex, and the firmware upgrade efficiency is low.
  • the server is in standby state, the PCIE interface is always in a reset state, and the device management unit cannot communicate with the PCIE device.
  • FIG. 1 is a schematic diagram of the architecture of a firmware upgrade system provided by an embodiment of the present application.
  • the firmware upgrade system may include a device management unit (Management Device) and a PCIE device.
  • the device management unit may be independent of the OS and CPU in the computer system, and is used to perform component management and asset management functions in the computer system, such as power on and off control, fan speed regulation, electronic label management, etc.
  • the device management unit may communicate with the PCIE device through the I3C protocol interface, send a firmware upgrade command to the PCIE device, and send the firmware file to be upgraded to the PCIE device, so that the PCIE device performs the firmware upgrade.
  • the device management unit may be a baseboard management controller (Board Management Controller, BMC) or other controllers, such as a complex programmable logic device (Complex Programmable Logic Device, CPLD), a digital signal processor (Digital Singnal Processor, DSP), etc.
  • BMC Baseboard Management Controller
  • CPLD Complex Programmable Logic Device
  • DSP Digital Singnal Processor
  • PCIE devices may include but are not limited to network cards, redundant arrays of independent disks (Redundant Array of Independent Disks, RAID) cards, graphics cards, solid state drives (Solid State Disk, SSD) cards, acceleration cards, etc.
  • the device management unit is the master node (i.e., the control node (Controller)) of the I3C bus in the computer system
  • the PCIE device is the slave node (i.e., the target device (Target Device)) of the I3C bus.
  • I3C and I2C are compatible in physical signals, and both use the SCL bus and SDA bus.
  • the PCIE device and the device management unit actually utilize the physical connection of the existing I2C channel and run the I3C communication protocol for communication without adding additional physical signals.
  • the embodiment of the present application extends the I3C communication protocol.
  • the I3C communication protocol defines read operations, write operations, and interrupt operations. Through the I3C write operations and interrupt operations, the device management unit can upgrade the firmware of the PCIE device. Through the I3C read operation, the device management unit can query the firmware upgrade status of the PCIE device.
  • the I3C communication protocol is specifically specified as follows:
  • FIG. 2 is a schematic diagram of a write operation command timing provided by an embodiment of the present application.
  • a write operation The command sequence includes the start (S) field, the I3C reserved address (I3C Reserved Address) field, the first read/write (R/W) field, the first acknowledgement (A) field, the I3C direct communication common command word (I3C Directed Common Command Code, I3C Directed CCC) field, the first parity (Par) field, the repeat start (Sr) field, the target address (Target Address) field, the second read/write (R/W) field, the second acknowledgement field, the data 1 (Data1) field, the second parity field, ..., the data N (Data N) field, the third parity field and the stop (P) field.
  • S start
  • I3C Reserved Address I3C Reserved Address
  • R/W the first read/write
  • A acknowledgement
  • I3C direct communication common command word I3C Directed Common Command Code
  • Start (S) field indicates the start of the command sequence.
  • I3C Reserved Address field represents the I3C addresses of all PCIE devices on the I3C bus.
  • the I3C Reserved Address field is a broadcast address field. In the embodiment of the present application, it can represent the I3C addresses of multiple PCIE devices on the I3C bus. For example, the value of the I3C Reserved Address field can be 7’h7E.
  • the first read/write (R/W) field indicates that the device management unit initiates a read/write operation to multiple PCIE devices on the I3C bus.
  • the value of the first read/write field can be 0x1 or 0x0, 0x1 indicates read (R), and 0x0 indicates write (W).
  • First confirmation field indicates the response of the PCIE device to the read/write operation initiated by the device management unit, corresponding to the first read/write field.
  • the value of the first confirmation field can be 0x1 or 0x0. Schematically, 0x0 indicates confirmation (Acknowledge, ACK), and 0x1 indicates negative confirmation (Negative-Acknowledge, NACK).
  • I3C Directed CCC field indicates that the I3C direct communication method is adopted, that is, the point-to-point communication method.
  • the I3C Directed CCC field can use the reserved command word in the common command word CCC (Common Command Code) field.
  • the value range of the reserved command word can be 0xE0-0xFE, and different values of the reserved command word can represent different functions.
  • the value of the reserved command word is 0xFA, that is, when the value of the I3C Directed CCC field is 0xFA, it indicates the operation of upgrading the firmware of the target PCIE device.
  • the first parity (Parity, Par) field indicates that a parity check is performed on the I3C Directed CCC field.
  • Repeat Start (Sr) field indicates the restart of the command sequence.
  • a command sequence on the I3C bus (the process from Start to Stop) includes multiple stages, and Sr is used at the beginning of each stage to indicate a restart.
  • Target Address field indicates the I3C address of the target PCIE device on the I3C bus.
  • the second Read/Write (R/W) field indicates that the device management unit initiates a read/write operation to the target PCIE device.
  • the second confirmation field indicates the response of the target PCIE device to the read/write operation initiated by the device management unit, corresponding to the second read/write field.
  • Data 1 field - Data N field indicates the content of the firmware file written by the device management unit to the target PCIE device.
  • Second parity check field indicates that a parity check is performed on the contents of the firmware file in the data 1 field.
  • the third parity check field indicates that a parity check is performed on the contents of the firmware file in the data N field.
  • Stop (P) field indicates the end of the command sequence.
  • the first confirmation field and the second confirmation field are actions performed by the PCIE device, and the other fields are actions performed by the device management unit.
  • the firmware of the target PCIE device among the multiple PCIE devices on the I3C bus can be upgraded through the write operation command sequence.
  • Figure 3 is a schematic diagram of another write operation command timing provided by an embodiment of the present application.
  • the write operation command timing includes a group address (Group Address) field, which is different from the target address (Target Address) field in Figure 2.
  • the group address (Group Address) field represents the I3C address of the PCIE device group. If there are at least two PCIE devices of the same model among the multiple PCIE devices on the I3C bus, the at least two PCIE devices of the same model can be divided into a PCIE device group, and each PCIE device group corresponds to a group address (Group Address).
  • the other fields in the write operation command timing shown in Figure 3 have the same meaning as the other fields in the write operation command timing shown in Figure 2.
  • the specific implementation method can refer to the write operation command timing shown in Figure 2, which will not be repeated here.
  • the first confirmation field and the second confirmation field are actions performed by the PCIE device, and the other fields are actions performed by the device management unit.
  • the write operation command sequence shown in FIG. 3 can be used to simultaneously upgrade the firmware of at least two PCIE devices of the same model in the PCIE device group.
  • FIG. 4 is a schematic diagram of another write operation command timing provided by an embodiment of the present application. If the models of all PCIE devices on the I3C bus are the same, a broadcast transmission method can be used.
  • the write operation command timing includes the start (Start, S) field, the I3C reserved address (I3C Reserved Address) field, the first read/write (read/Write, R/W) field, the first confirmation (Acknowledge, A) field, the I3C broadcast communication common command word (I3C Broadcast Common Command Code, I3C Broadcast CCC) field, the first parity (Parity, Par) field, the data 1 (Data1) field, the second parity field, ..., the data N field, the third parity field and the stop (Stop, P) field.
  • the start Start, S
  • I3C reserved address I3C Reserved Address
  • R/W read/write
  • A Acknowledge, A
  • I3C broadcast communication common command word I3C Broadcast Common Command Code, I3C Broadcast C
  • the I3C Broadcast CCC field indicates that the I3C broadcast communication method is adopted.
  • the I3C Broadcast CCC field can use the reserved command word in the public command word CCC field, and the value range of the reserved command word can be 0x61-0x7F.
  • Different values of the reserved command word can represent different functions. For example, the value of the reserved command word is 0x7A, that is, when the value of the I3C Broadcast CCC field is 0x7A, it means that the firmware of all PCIE devices is upgraded.
  • the first confirmation field is the action performed by the PCIE device, and the other fields are the actions performed by the device management unit.
  • the firmware of all PCIE devices on the I3C bus can be upgraded at the same time through the write operation command sequence.
  • FIG. 5 is a schematic diagram of an interrupt operation command sequence provided by an embodiment of the present application.
  • the interrupt operation command sequence includes a start (Start, S) field, a target address (Target Address) field, a read/write (Read/Write, R/W) field, an acknowledgement (Acknowledge, A) field, a target mandatory data byte (Target Mandatory Data Byte, Target MDB) field, a first transition (Transition, T) field, a target in-band interrupt data 1 (Target InBand Interrupt Data1, Target IBI Data1), a second transition (Transition, T) field, ..., a target in-band interrupt data N (Target InBand Interrupt Data N, Target IBI Data N), a third transition (Transition, T) field, and a stop (Stop, P) field.
  • start Start
  • T target address
  • R/W read/write
  • Acknowledge, A acknowledgement
  • A target mandatory data byte
  • T target mandatory data byte
  • Start (S) field indicates the start of the command sequence.
  • Target Address field indicates the I3C address of the target PCIE device on the I3C bus.
  • Read/Write (R/W) field indicates that the target PCIE device initiates a read/write operation to the device management unit.
  • the value of the read/write field can be 0x1 or 0x0, 0x1 indicates read (R), and 0x0 indicates write (W).
  • Acknowledge (A) field indicates the response of the device management unit to the read and write operation initiated by the target PCIE device.
  • the value of the Acknowledge field can be 0x1 or 0x0, 0x0 indicates Acknowledge (ACK), and 0x1 indicates Negative-Acknowledge (NACK).
  • Target required data byte (Target MDB) field indicates the interrupt group number and interrupt number of the interrupt operation initiated by the target PCIE device to the device management unit, and the interrupt group number and interrupt number are used to indicate the interrupt type and/or interrupt content.
  • the interrupt group number and interrupt number can be used to indicate the upgrade completion message of the firmware of the PCIE device being transmitted.
  • Figure 6 is a data format schematic diagram of a Target MDB field provided in an embodiment of the present application.
  • the Target MDB field includes a 3-bit interrupt group number field and a 5-bit interrupt number field. Among them, the value of the interrupt group number field can be 3'b000, and the value range of the interrupt number field can be 5'h00-5'h1F. For example, when the value of the interrupt group number field and the value of the interrupt number field can be 5'h1B, it indicates a request to transmit the firmware upgrade completion message of the PCIE device.
  • T First Transition
  • the value of the conversion field can be 0x1 or 0x0. 0x1 indicates that there is more data to be transmitted, and 0x0 indicates that the data transmission is completed, that is, the data byte in front of this field is the last data byte.
  • Target IBI Data 1-Target IBI Data N represents the content of the interrupt transmitted by the target device to the control node. In the embodiment of the present application, it represents the content of the upgrade completion message sent by the PCIE device to the device management unit.
  • the second Transition (T) field indicates whether the content of the firmware upgrade completion message has been sent after the Target IBI Data 1 is sent. 0x1 indicates that there is more content of the upgrade completion message to be sent later, and 0x0 indicates that the content of the upgrade completion message has been sent.
  • the third Transition (T) field indicates whether the content of the upgrade completion message has been sent after the Target IBI Data N is sent. 0x1 indicates that there is more content of the upgrade completion message to be sent later, and 0x0 indicates that the content of the upgrade completion message has been sent.
  • Stop (P) field indicates the end of the command sequence.
  • the Start (S) field, the Acknowledge (A) field and the Stop (P) field are actions performed by the device management unit, and the other fields are actions performed by the PCIE device.
  • the PCIE device can send an upgrade completion message to the device management unit by interrupting the operation command sequence.
  • FIG. 7 is a schematic diagram of a read operation command sequence provided by an embodiment of the present application.
  • the read operation command sequence includes a start (Start, S) field, an I3C reserved address (I3C Reserved Address) field, a first read/write (Read/Write, R/W) field, a first confirmation (Acknowledge, A) field, a common command word for I3C direct communication (I3C Directed Common Command Code, I3C Directed CCC) field, a parity (Parity, Par) field, a first repeat start (Repeat Start, Sr) field, a target address (Target Address) field, a second read/write (Read/Write, R/W) field, a second confirmation field, a first wait message (Wait Message) word, and a second confirmation field.
  • I3C Directed CCC field indicates the use of I3C direct communication, that is, point-to-point communication.
  • the I3C Directed CCC field can use the reserved command word in the public command word CCC field.
  • the value range of the reserved command word is 0xE0-0xFE. Different values of the reserved command word represent different functions. For example, the value of the reserved command word is 0xFB, that is, when the value of the I3C Directed CCC field is 0xFB, it means querying the firmware upgrade status of the PCIE device.
  • Wait Message field indicates that when the PCIE device has not completed the firmware upgrade operation, it notifies the device management unit to continue waiting.
  • the Wait Message field can use the reserved command word in the CCC field.
  • the value range of the reserved command word can be 0xE0-0xFE, and different values of the reserved command word represent different functions. For example, when the value of the reserved command word is 0xEF, that is, when the value of the Wait Message field is 0xEF, it means that the PCIE device notifies the device management unit to continue waiting.
  • Update Complete field indicates the update completion message, that is, when the PCIE device has completed the firmware upgrade operation, it notifies the device management unit that the firmware upgrade is complete.
  • the Update Complete field can use the reserved command word in the CCC field.
  • the value of the Update Complete field is consistent with the value of the I3C Directed CCC field, indicating a response to querying the firmware upgrade status of the PCIE device.
  • the device management unit After the device management unit initiates a read operation to the PCIE device, if the PCIE device has not completed the firmware upgrade operation, it notifies the device management unit to wait. If the device management unit continues to query the firmware upgrade status of the PCIE device, it re-initiates a repeat start (Repeat Start, Sr) process. The next time the PCIE device may continue to notify the device management unit to wait, and the cycle repeats multiple times. Finally, if the PCIE device notifies the device management unit of the upgrade completion message, the device management unit ends the entire command sequence. The entire process of querying the firmware upgrade status of the PCIE device is divided into multiple stages, so the above-mentioned read operation command sequence includes multiple stages.
  • the first repeat start (Repeat Start, Sr) field, the target address (Target Address) field, the second read/write (Read/Write, R/W) field, the second confirmation field, the first wait message (Wait Message) field, and the first transition (Transition, T) field are the first stage.
  • Second Repeat Start (Repeat Start, Sr) The first stage is the Nth stage.
  • the third repeat start (Sr) field, the target address (Target Address) field, the fourth read/write (R/W) field, the third confirmation field, the second wait message (Wait Message) field, and the second transition (T) field are the Nth stage.
  • the third repeat start (Sr) field, the target address (Target Address) field, the fourth read/write (R/W) field, the fourth confirmation field, the update complete message (Update Complete) field, and the third transition (T) field are the last stage.
  • the first confirmation field, the second confirmation field, the first waiting field, the first conversion field, the third confirmation field, the second waiting field, the second conversion field, the fourth confirmation field, the update completion message field, and the third conversion field are actions performed by the PCIE device, and the other fields are actions performed by the device management unit.
  • the device management unit can query the firmware upgrade status of the PCIE device.
  • interrupt operation command timing shown in FIG. 5 and the read operation command timing shown in FIG. 7 can be applied to unicast transmission scenarios, as well as multicast transmission scenarios and broadcast transmission scenarios.
  • the embodiment of the present application provides the following firmware upgrade method.
  • Figure 8 is a flowchart of a firmware upgrade method provided in an embodiment of the present application.
  • the steps in the embodiment of the present application mainly include:
  • the device management unit sends a firmware upgrade command to the PCIE device through the I3C protocol interface.
  • the device management unit may select a PCIE device from multiple PCIE devices on the I3C bus as the target PCIE device, and send a firmware upgrade command to the target PCIE device via the I3C protocol interface, wherein the firmware upgrade command includes the I3C address of the target PCIE device.
  • the at least two PCIE devices of the same model can be divided into a PCIE device group, and each PCIE device group corresponds to a group address (Group Address).
  • the device management unit sends a firmware upgrade command to at least two PCIE devices in the PCIE device group through the I3C protocol interface, wherein the firmware upgrade command includes the I3C address (i.e., the group address) of the PCIE device group.
  • the device management unit sends a firmware upgrade command to all PCIE devices on the I3C bus through the I3C protocol interface in a broadcasting manner, wherein the firmware upgrade command includes a broadcast address.
  • the PCIE device sends a response message to the device management unit through the I3C protocol interface.
  • the response message may include confirmation information and negative confirmation information.
  • the PCIE device may determine whether the current firmware meets the upgrade conditions, such as determining whether the PCIE device currently has a process block, whether it is in a busy state, or whether there is sufficient storage space. If it is determined that the current firmware meets the upgrade conditions, a confirmation message is sent to the device management unit through the I3C protocol interface. If it is determined that the current firmware does not meet the upgrade conditions, a negative confirmation message is sent to the device management unit through the I3C protocol interface.
  • the device management unit sends the firmware file to the PCIE device through the I3C protocol interface.
  • the firmware file is sent to the PCIE device through the I3C protocol interface.
  • FIG 9 is a schematic diagram of the file format of a firmware file provided in an embodiment of the present application.
  • the firmware file includes a header area and a data area.
  • the header area includes but is not limited to the file name (Name), version number (Version), release time (Release Time), device identification (Device ID), size (Size), and checksum (Checksum).
  • the data area includes the firmware code.
  • the PCIE device After receiving the firmware file, the PCIE device writes the firmware file to a storage medium, such as Flash memory/non-volatile random access memory (NVRAM), to complete the upgrade of the current firmware.
  • a storage medium such as Flash memory/non-volatile random access memory (NVRAM)
  • the device management unit can send firmware files to multiple PCIE devices or PCIE device groups at the same time through the I3C protocol interface. After multiple PCIE devices or PCIE device groups receive the firmware files, each PCIE device performs the firmware upgrade operation.
  • the device management unit communicates with the PCIE device through the I3C protocol interface to implement the firmware upgrade of the PCIE device, thereby getting rid of the dependence and constraints of the firmware upgrade of the PCIE device on the OS, and improving the usability and maintainability of the PCIE device.
  • the firmware of one or more PCIE devices is upgraded by using an out-of-band communication method, which simplifies the upgrade process and improves the efficiency of the upgrade.
  • Figure 10 is a flow chart of another firmware upgrade method provided in an embodiment of the present application.
  • the steps in the embodiment of the present application mainly include:
  • the device management unit sends a firmware upgrade command to the PCIE device through the I3C protocol interface.
  • the PCIE device sends a response message to the device management unit through the I3C protocol interface.
  • the device management unit sends the firmware file to the PCIE device through the I3C protocol interface.
  • S1004 The PCIE device upgrades the current firmware of the PCIE device according to the firmware file.
  • S1001-S1004 is the same as the implementation method of S801-S804 in the embodiment shown in FIG8 .
  • the PCIE device sends an interrupt request to the device management unit through the I3C protocol interface.
  • the interrupt request may include an interrupt group number and an interrupt number, and the interrupt group number and the interrupt number may indicate an interrupt type and/or an interrupt content. For example, when the interrupt group number is 3'b000 and the interrupt number is 5'h1B, it indicates a request to transmit an upgrade completion message of the firmware of the PCIE device.
  • the device management unit sends an interrupt response to the PCIE device through the I3C protocol interface.
  • the interrupt response may include confirmation information and negative confirmation information.
  • the device management unit accepts the interrupt request of the PCIE device, it may send confirmation information to the PCIE device, and the confirmation information is used to indicate that the PCIE device is allowed to send an upgrade completion message.
  • the device management unit does not accept the interrupt request of the PCIE device, it may send negative confirmation information to the PCIE device, and the negative confirmation information is used to indicate that the PCIE device is not allowed to send an upgrade completion message.
  • the PCIE device sends an upgrade completion message to the device management unit through the I3C protocol interface.
  • the PCIE device when the interrupt response received by the PCIE device is confirmation information, the PCIE device sends an upgrade completion message to the device management unit through the I3C protocol interface.
  • the PCIE device uses an out-of-band communication method to notify the device management unit of the upgrade completion message through an interrupt operation in the extended I3C communication protocol, thereby simplifying the upgrade process and improving the efficiency of the upgrade.
  • the device management unit can query the firmware upgrade status of the PCIE device.
  • the process of the device management unit querying the firmware upgrade status of the PCIE device is described in detail below.
  • Figure 11 is a flow chart of another firmware upgrade method provided in an embodiment of the present application.
  • the steps in the embodiment of the present application mainly include:
  • the device management unit sends a query command for the firmware upgrade status to the PCIE device.
  • the PCIE device sends a query response of the firmware upgrade status to the device management unit.
  • the query response may include confirmation information and negative confirmation information.
  • the confirmation information may be sent to the PCIE device.
  • the confirmation information may be sent to the PCIE device.
  • the confirmation information may be sent to the PCIE device.
  • a negative confirmation message can be sent to the PCIE device.
  • the device management unit sends a query request to the PCIE device.
  • the PCIE device determines whether the firmware upgrade is completed. If the PCIE device determines that the firmware upgrade is completed, S1105 is executed, and if the PCIE device does not complete the firmware upgrade, S1106 is executed.
  • the PCIE device sends an upgrade completion message to the device management unit.
  • the PCIE device sends a waiting message to the device management unit.
  • the device management unit determines whether to continue to query the firmware upgrade status of the PCIE device. If the device management unit continues to query the firmware upgrade status of the PCIE device, S1103 is re-executed. If the device management unit determines not to continue to query the firmware upgrade status of the PCIE device, S1108 is executed.
  • S1108 The device management unit ends the query operation.
  • the device management unit can re-initiate the query on the firmware upgrade status after waiting for a period of time, or wait for an interrupt request sent by the PCIE device, wherein the interrupt request is used to notify the device management unit that the firmware upgrade is completed.
  • the device management unit communicates with the PCIE device through the I3C protocol interface.
  • the device management unit realizes the query of the firmware upgrade status of the PCIE device through the read operation in the extended I3C communication protocol, and realizes the monitoring and management of the firmware upgrade status of the PCIE device. It not only gets rid of the dependence and constraints of the firmware upgrade of the PCIE device on the OS, improves the usability and maintainability of the PCIE device, but also simplifies the query process and improves the query efficiency.
  • the embodiment of the present application can divide the functional modules of the device management unit and the PCIE device according to the above method example.
  • each functional module can be divided corresponding to each function, or two or more functions can be integrated into one processing module.
  • the above integrated module can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical functional division. There may be other division methods in actual implementation. The following is an example of using each functional module divided according to each function to illustrate.
  • FIG 12 is a schematic diagram of a firmware upgrade device provided in an embodiment of the present application.
  • the firmware upgrade device may include a sending module 1201 and a receiving module 1202.
  • the sending module 1201 and the receiving module 1202 can communicate with the outside, and the sending module 1201 and the receiving module 1202 can also be called a communication interface, a transceiver unit or a transceiver module.
  • the sending module 1201 and the receiving module 1202 can be used to perform the actions performed by the device management unit in the above method embodiment.
  • the firmware upgrade device may implement steps or processes executed by the device management unit in the above method embodiment.
  • the device management unit may be a device management unit, or a chip or circuit configured in the device management unit.
  • the sending module 1201 is used to send a firmware upgrade command to the PCIE device through the I3C protocol interface;
  • the receiving module 1202 is used to receive a response message sent by the PCIE device through the I3C protocol interface;
  • the sending module 1201 is further used to send a firmware file to the PCIE device through the I3C protocol interface, and the firmware file is used for the PCIE device to upgrade the current firmware.
  • the receiving module 1202 is further configured to receive an upgrade completion message sent by the PCIE device through the I3C protocol interface.
  • the receiving module 1202 is further used to receive an interrupt request sent by the PCIE device through the I3C protocol interface; the sending module 1201 is further used to send an interrupt response to the PCIE device through the I3C protocol interface, and the interrupt response is used to indicate that the PCIE device is allowed to send the upgrade completion message.
  • the sending module 1201 is further used to send a query request to the PCIE device through the I3C protocol interface, and the query request is used by the PCIE device to determine whether the upgrade of the current firmware is completed; the receiving module 1202 is also used to receive the upgrade completion message sent by the PCIE device through the I3C protocol interface if the PCIE device completes the upgrade of the current firmware, and if the PCIE device completes the upgrade of the current firmware, If the PCIE device has not completed upgrading the current firmware, a waiting message sent by the PCIE device is received through the I3C protocol interface.
  • the sending module 1201 is further configured to send a query command to the PCIE device through the I3C protocol interface;
  • the receiving module is further used to receive a query response sent by the PCIE device through the I3C protocol interface.
  • the sending module 1201 is further configured to send the firmware upgrade command to at least two PCIE devices in the PCIE device group through the I3C protocol interface.
  • the sending module 1201 is further configured to send the firmware upgrade command to all PCIE devices on the I3C bus through the I3C protocol interface.
  • the response message includes confirmation information and negative confirmation information
  • the confirmation response is used to indicate that the current firmware meets the upgrade conditions
  • the negative confirmation information is used to indicate that the current firmware does not meet the upgrade conditions
  • the sending module 1201 is further configured to send the firmware file to the PCIE device through the I3C protocol interface if the response message is confirmation information.
  • each module may also correspond to the corresponding description of the method embodiments shown in FIG. 8 , FIG. 10 and FIG. 11 , and execute the methods and functions executed by the device management unit in the above embodiments.
  • FIG. 13 is a schematic diagram of another firmware upgrade device provided in an embodiment of the present application.
  • the firmware upgrade device may include a receiving module 1301, a processing module 1302, and a sending module 1303.
  • the receiving module 1301 and the sending module 1303 can communicate with the outside, and the receiving module 1301 and the sending module 1303 can also be called a communication interface, a transceiver unit or a transceiver module, and the processing module 1302 can perform processing related actions.
  • the receiving module 1301, the processing module 1302, and the sending module 1303 can be used to perform the actions performed by the PCIE device in the above method embodiment.
  • the firmware upgrade device can implement the steps or processes executed by the PCIE device in the above method embodiment.
  • the PCIE device can be a PCIE device, or a chip or circuit configured in the PCIE device.
  • the receiving module 1301 is used to receive a firmware upgrade command sent by the device management unit through an I3C protocol interface;
  • the sending module 1303 is used to send a response message to the device management unit through the I3C protocol interface;
  • the receiving module 1301 is further configured to receive the firmware file sent by the device management unit through the I3C protocol interface;
  • the processing module 1302 is used to upgrade the current firmware according to the firmware file.
  • the sending module 1303 is further configured to send an upgrade completion message to the device management unit via the I3C protocol interface.
  • the sending module 1303 is also used to send an interrupt request to the device management unit through the I3C protocol interface; the receiving module 1301 is also used to receive an interrupt response sent by the device management unit through the I3C protocol interface, and the interrupt response is used to indicate that the PCIE device is allowed to send the upgrade completion message.
  • the receiving module 1301 is further used to receive a query request sent by the device management unit through the I3C protocol interface; the processing module 1302 is further used to determine whether the current firmware is upgraded according to the query request;
  • the sending module 1303 is also used to send an upgrade completion message to the device management unit through the I3C protocol interface if the PCIE device completes upgrading the current firmware, and to send a waiting message to the device management unit through the I3C protocol interface if the PCIE device has not completed upgrading the current firmware.
  • the receiving module 1301 is further used to receive a query command sent by the device management unit through the I3C protocol interface; the sending module 1303 is further used to send a query response to the device management unit through the I3C protocol interface.
  • the response message includes confirmation information and negative confirmation information.
  • the processing module 1302 is also used to determine whether the current firmware meets the upgrade conditions
  • the sending module 1303 is used to send confirmation information to the device management unit through the I3C protocol interface if the current firmware meets the upgrade conditions; if the current firmware does not meet the upgrade conditions, send negative confirmation information to the device management unit through the I3C protocol interface.
  • the receiving module 1301 is further configured to, if the current firmware meets the upgrade conditions, enable the PCIE device to receive the firmware file sent by the device management unit through the I3C protocol interface.
  • each module can also correspond to the corresponding description of the method embodiments shown in Figures 8, 10 and 11, and execute the methods and functions executed by the PCIE devices in the above embodiments.
  • Figure 14 is a schematic diagram of the structure of a device management unit provided in an embodiment of the present application.
  • the device management unit can be applied to the system shown in Figure 1 to perform the functions of the device management unit in the above method embodiment, or to implement the steps or processes performed by the device management unit in the above method embodiment.
  • the device management unit includes a processor 1401 and a transceiver 1402.
  • the device management unit also includes a memory 1403.
  • the processor 1401, the transceiver 1402 and the memory 1403 can communicate with each other through an internal connection path to transmit control and/or data signals.
  • the memory 1403 is used to store a computer program, and the processor 1401 is used to call and run the computer program from the memory 1403 to control the transceiver 1402 to send and receive signals.
  • the device management unit may also include an antenna for sending the uplink data or uplink control signaling output by the transceiver 1402 through a wireless signal.
  • the processor 1401 and the memory 1403 may be combined into a processing device, and the processor 1401 is used to execute the program code stored in the memory 1403 to implement the above functions.
  • the memory 1403 may also be integrated into the processor 1401, or independent of the processor 1401.
  • the transceiver 1402 may correspond to the receiving module and the sending module in FIG12, and may also be referred to as a transceiver unit or a transceiver module.
  • the transceiver 1402 may include a receiver (or receiver, receiving circuit) and a transmitter (or transmitter, transmitting circuit). The receiver is used to receive signals, and the transmitter is used to transmit signals.
  • the device management unit shown in FIG14 can implement the various processes involving the device management unit in the method embodiments shown in FIG8, FIG10 and FIG11.
  • the operations and/or functions of each module in the device management unit are respectively to implement the corresponding processes in the above method embodiments.
  • the processor 1401 can be used to execute the actions implemented by the device management unit in the previous method embodiment, and the transceiver 1402 can be used to execute the actions of the device management unit sending to or receiving from the PCIE device described in the previous method embodiment. Please refer to the description in the previous method embodiment for details, which will not be repeated here.
  • the processor 1401 can be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. It can implement or execute various exemplary logic blocks, modules and circuits described in conjunction with the disclosure of this application.
  • the processor 1401 can also be a combination that implements a computing function, such as a combination of one or more microprocessors, a combination of a digital signal processor and a microprocessor, and the like.
  • the communication bus 1404 can be an I3C bus. For ease of representation, only one thick line is used in Figure 14, but it does not mean that there is only one bus or one type of bus.
  • the communication bus 1404 is used to realize the connection communication between these components.
  • the transceiver 1402 in the embodiment of the present application is used to communicate signaling or data with other node devices.
  • the memory 1403 may include a volatile memory, such as a nonvolatile dynamic random access memory (NVRAM), a phase change RAM (PRAM), a magnetoresistive RAM (MRAM), etc., and may also include a non-volatile memory, such as at least one disk storage device, an electrically erasable programmable read-only memory (EEPROM), a flash memory device, such as a NOR flash memory or a NAND flash memory, a semiconductor device, such as a solid state disk (SSD), etc.
  • NVRAM nonvolatile dynamic random access memory
  • PRAM phase change RAM
  • MRAM magnetoresistive RAM
  • EEPROM electrically erasable programmable read-only memory
  • flash memory device such as a NOR flash memory or a NAND flash memory
  • SSD solid state disk
  • the memory 1403 may optionally be at least one storage device located away from the aforementioned processor 1401.
  • the memory 1403 may optionally store a set of computer program codes or configuration information.
  • the processor 1401 may also execute a program stored in the memory 1403.
  • the processor may cooperate with the memory and the transceiver to execute any one of the methods and functions of the device management unit in the above-mentioned application embodiment.
  • FIG 15 is a schematic diagram of the structure of a PCIE device provided in an embodiment of the present application.
  • the PCIE device can be applied to the system shown in Figure 1 to perform the functions of the PCIE device in the above method embodiment, or to implement the steps or processes performed by the PCIE device in the above method embodiment.
  • the PCIE device includes a processor 1501 and a transceiver 1502.
  • the PCIE device also includes a memory 1503.
  • the processor 1501, the transceiver 1502 and the memory 1503 can communicate with each other through an internal connection path to transmit control and/or data signals.
  • the memory 1503 is used to store a computer program, and the processor 1501 is used to call and run the computer program from the memory 1503 to control the transceiver 1502 to send and receive signals.
  • the PCIE device may also include an antenna for sending the uplink data or uplink control signaling output by the transceiver 1502 through a wireless signal.
  • the processor 1501 may correspond to the processing module in FIG13 , and the processor 1501 may be combined with the memory 1503 to form a processing device, and the processor 1501 is used to execute the program code stored in the memory 1503 to implement the above functions.
  • the memory 1503 may also be integrated into the processor 1501, or may be independent of the processor 1501.
  • the transceiver 1502 may correspond to the sending module and the receiving module in FIG13 , and may also be referred to as a transceiver unit or a transceiver module.
  • the transceiver 1502 may include a receiver (or receiver, receiving circuit) and a transmitter (or transmitter, transmitting circuit). The receiver is used to receive signals, and the transmitter is used to transmit signals.
  • the PCIE device shown in FIG. 15 can implement the various processes involving the PCIE device in the method embodiments shown in FIG. 8 , FIG. 10 and FIG. 11 .
  • the operations and/or functions of each module in the PCIE device are respectively to implement the corresponding processes in the above method embodiments.
  • the processor 1501 can be used to execute the actions implemented by the PCIE device in the previous method embodiment, and the transceiver 1502 can be used to execute the actions of the PCIE device sending to or receiving from the device management unit described in the previous method embodiment. Please refer to the description in the previous method embodiment for details, which will not be repeated here.
  • the processor 1501 can be various types of processors mentioned above.
  • the communication bus 1504 can be an I3C bus. For ease of representation, only one thick line is used in Figure 15, but it does not mean that there is only one bus or one type of bus.
  • the communication bus 1504 is used to realize the connection communication between these components.
  • the transceiver 1502 of the device in the embodiment of the present application is used to communicate signaling or data with other devices.
  • the memory 1503 can be various types of memories mentioned above.
  • the memory 1503 can also be at least one storage device located away from the aforementioned processor 1501. A set of computer program codes or configuration information is stored in the memory 1503, and the processor 1501 executes the program in the memory 1503.
  • the processor can cooperate with the memory and the transceiver to execute any method and function of the PCIE device in the above-mentioned application embodiment.
  • the embodiment of the present application also provides a chip system, which includes a processor for supporting a device management unit or a PCIE device to implement the functions involved in any of the above embodiments, such as generating or processing the firmware upgrade involved in the above method.
  • the chip system may also include a memory, which is used for the necessary program instructions and data for the device management unit or PCIE device.
  • the chip system can be composed of a chip, or it can include a chip and other discrete devices. Among them, the input and output of the chip system correspond to the receiving and sending operations of the device management unit or PCIE device of the method embodiment, respectively.
  • the present application also provides a computer program product, which includes: a computer program, when the computer program is run on a computer, the computer executes the method of any one of the embodiments shown in Figures 8, 10 and 11.
  • the present application also provides a computer-readable medium, which stores a computer program.
  • the computer program runs on a computer, the computer executes the method of any one of the embodiments shown in Figures 8, 10 and 11.
  • all or part of the embodiments may be implemented by software, hardware, firmware or any combination thereof.
  • all or part of the embodiments may be implemented in the form of a computer program product.
  • the computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device.
  • the computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium.
  • the computer instructions may be transmitted from a website site, a computer, a server, or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means to another website site, computer, server, or data center.
  • wired e.g., coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL)
  • wireless e.g., infrared, wireless, microwave, etc.
  • the computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or a data center that includes one or more available media integrated.
  • the available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a high-density digital video disc (digital video disc, DVD)), or a semiconductor medium (e.g., a solid state drive (solid state disc, SSD)), etc.
  • a magnetic medium e.g., a floppy disk, a hard disk, a tape
  • an optical medium e.g., a high-density digital video disc (digital video disc, DVD)
  • a semiconductor medium e.g., a solid state drive (solid state disc, SSD)

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

Disclosed in the embodiments of the present application are a firmware upgrade method and apparatus. The method comprises: a device management unit sending a firmware upgrade command to a PCIE device by means of an I3C protocol interface; the device management unit receiving, by means of the I3C protocol interface, a response message, which is sent by the PCIE device; and the device management unit sending a firmware file to the PCIE device by means of the I3C protocol interface, wherein the firmware file is used to upgrade current firmware by means of the PCIE device. By using the embodiments of the present application, the upgrading of firmware of a PCIE device is no longer dependent on an OS and the constraints thereof, the usability and maintainability of the PCIE device are improved, the upgrade process is simplified, and the upgrade efficiency is improved.

Description

一种固件升级方法及装置A firmware upgrade method and device
本申请要求于2022年9月28日提交中国国家知识产权局、申请号为202211193397.1、申请名称为“一种固件升级方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims priority to the Chinese patent application filed with the State Intellectual Property Office of China on September 28, 2022, with application number 202211193397.1 and application name “A firmware upgrade method and device”, the entire contents of which are incorporated by reference in this application.
技术领域Technical Field
本申请涉及计算机技术领域,尤其涉及一种固件升级方法及装置。The present application relates to the field of computer technology, and in particular to a firmware upgrade method and device.
背景技术Background technique
快速外设组件互联(Peripheral Component Interconnect Express,PCIE)设备作为计算机产品,例如服务器的中央处理单元(Central Processing Unit,CPU)系统的PCIE外设,实现了网络连接、存储访问、图形处理等各种功能。随着业务多样化,应用复杂化,PCIE设备的功能越来越多,内部架构也越发复杂,出问题概率也随之增长。PCIE设备经常需要升级固件(Firmware)来新增功能或者修复问题。但是,现有固件升级过程复杂,固件升级效率低。Peripheral Component Interconnect Express (PCIE) devices are PCIE peripherals of computer products, such as the central processing unit (CPU) system of a server, which realizes various functions such as network connection, storage access, and graphics processing. With the diversification of business and the complexity of applications, PCIE devices have more and more functions, and the internal architecture has become more and more complex, and the probability of problems has also increased. PCIE devices often need to upgrade firmware to add new functions or fix problems. However, the existing firmware upgrade process is complicated and the firmware upgrade efficiency is low.
发明内容Summary of the invention
本申请实施例提供一种固件升级方法及装置,摆脱了PCIE设备的固件升级对OS的依赖和约束,提高了PCIE设备的易用性和可维护性,简化了升级过程,提高了升级的效率。The embodiments of the present application provide a firmware upgrade method and device, which eliminates the dependence and constraints of the firmware upgrade of the PCIE device on the OS, improves the usability and maintainability of the PCIE device, simplifies the upgrade process, and improves the upgrade efficiency.
第一方面,本申请实施例提供了一种固件升级方法,包括:设备管理单元通过I3C协议接口向PCIE设备发送固件升级命令;通过I3C协议接口接收PCIE设备发送的响应消息;通过I3C协议接口向PCIE设备发送固件文件,固件文件用于PCIE设备对当前固件进行升级。设备管理单元通过I3C协议接口与PCIE设备通信,实现PCIE设备的固件升级,摆脱了PCIE设备的固件升级对OS的依赖和约束,提高了PCIE设备的易用性和可维护性。并且,通过扩展的I3C通信协议中的写操作,采用带外通信方式对一个或多个PCIE设备的固件进行升级,简化了升级过程,提高了升级的效率。In the first aspect, an embodiment of the present application provides a firmware upgrade method, including: a device management unit sends a firmware upgrade command to a PCIE device through an I3C protocol interface; receives a response message sent by the PCIE device through the I3C protocol interface; sends a firmware file to the PCIE device through the I3C protocol interface, and the firmware file is used by the PCIE device to upgrade the current firmware. The device management unit communicates with the PCIE device through the I3C protocol interface to implement the firmware upgrade of the PCIE device, get rid of the dependence and constraints of the firmware upgrade of the PCIE device on the OS, and improve the usability and maintainability of the PCIE device. In addition, through the write operation in the extended I3C communication protocol, the firmware of one or more PCIE devices is upgraded using an out-of-band communication method, which simplifies the upgrade process and improves the efficiency of the upgrade.
在一种可能的设计中,设备管理单元通过I3C协议接口接收PCIE设备发送的升级完成消息。通过通知设备管理单元完成对当前固件的升级,避免设备管理单元重复对PCIE设备的当前固件进行升级,提高升级的效率。In a possible design, the device management unit receives an upgrade completion message sent by the PCIE device through the I3C protocol interface. By notifying the device management unit to complete the upgrade of the current firmware, the device management unit is prevented from repeatedly upgrading the current firmware of the PCIE device, thereby improving the efficiency of the upgrade.
在另一种可能的设计中,设备管理单元通过I3C协议接口接收PCIE设备发送的中断请求;通过I3C协议接口向PCIE设备发送中断响应,中断响应用于指示允许PCIE设备向设备管理单元发送升级完成消息。PCIE设备通过扩展的I3C通信协议中的中断操作,采用带外通信方式通知设备管理单元升级完成消息,简化了升级过程,提高了升级的效率。In another possible design, the device management unit receives an interrupt request sent by the PCIE device through the I3C protocol interface; sends an interrupt response to the PCIE device through the I3C protocol interface, and the interrupt response is used to indicate that the PCIE device is allowed to send an upgrade completion message to the device management unit. The PCIE device uses an interrupt operation in the extended I3C communication protocol to notify the device management unit of the upgrade completion message in an out-of-band communication manner, thereby simplifying the upgrade process and improving the efficiency of the upgrade.
在另一种可能的设计中,设备管理单元通过I3C协议接口向PCIE设备发送查询请求,查询请求用于PCIE设备确定是否完成对当前固件进行升级;若PCIE设备完成对当前固件进行升级,则设备管理单元通过I3C协议接口接收PCIE设备发送的升级完成消息,若PCIE设备未完成对当前固件进行升级,则设备管理单元通过I3C协议接口接收PCIE设备发送的等待消息。设备管理单元通过扩展的I3C通信协议中的读操作,实现了对PCIE设备的固件升级状态的查询,实现了对PCIE设备的固件升级状态的监控和管理,不仅摆脱了PCIE设备的固件升级对OS的依赖和约束,提高了PCIE设备的易用性和可维护性,而且简化了查询过程,提高了查询效率。 In another possible design, the device management unit sends a query request to the PCIE device through the I3C protocol interface, and the query request is used by the PCIE device to determine whether the current firmware upgrade is completed; if the PCIE device completes the upgrade of the current firmware, the device management unit receives the upgrade completion message sent by the PCIE device through the I3C protocol interface, and if the PCIE device does not complete the upgrade of the current firmware, the device management unit receives the waiting message sent by the PCIE device through the I3C protocol interface. The device management unit realizes the query of the firmware upgrade status of the PCIE device through the read operation in the extended I3C communication protocol, and realizes the monitoring and management of the firmware upgrade status of the PCIE device, which not only gets rid of the dependence and constraints of the firmware upgrade of the PCIE device on the OS, improves the usability and maintainability of the PCIE device, but also simplifies the query process and improves the query efficiency.
在另一种可能的设计中,设备管理单元通过I3C协议接口向PCIE设备发送查询命令;通过I3C协议接口接收PCIE设备发送查询响应。以便允许设备管理单元通过I3C协议接口向PCIE设备发送查询请求。In another possible design, the device management unit sends a query command to the PCIE device through the I3C protocol interface and receives a query response from the PCIE device through the I3C protocol interface, so as to allow the device management unit to send a query request to the PCIE device through the I3C protocol interface.
在另一种可能的设计中,设备管理单元通过I3C协议接口向PCIE设备组中的至少两个PCIE设备发送固件升级命令。In another possible design, the device management unit sends a firmware upgrade command to at least two PCIE devices in the PCIE device group through an I3C protocol interface.
在另一种可能的设计中,设备管理单元通过I3C协议接口向I3C总线上的所有PCIE设备发送固件升级命令。In another possible design, the device management unit sends a firmware upgrade command to all PCIE devices on the I3C bus through an I3C protocol interface.
在另一种可能的设计中,响应消息包括确认信息和否定确认信息,确认响应用于指示当前固件具备升级条件,否定确认信息用于指示当前固件不具备升级条件;若响应消息为确认信息,则设备管理单元通过I3C协议接口向PCIE设备发送固件文件。通过确定PCIE设备的当前固件具备升级条件的情况下,向PCIE设备发送固件文件,保障PCIE设备对当前固件升级成功。In another possible design, the response message includes confirmation information and negative confirmation information, the confirmation response is used to indicate that the current firmware meets the upgrade conditions, and the negative confirmation information is used to indicate that the current firmware does not meet the upgrade conditions; if the response message is confirmation information, the device management unit sends the firmware file to the PCIE device through the I3C protocol interface. By determining that the current firmware of the PCIE device meets the upgrade conditions, the firmware file is sent to the PCIE device, ensuring that the PCIE device successfully upgrades the current firmware.
第二方面,本申请实施例提供了一种固件升级方法,包括:PCIE设备通过I3C协议接口接收设备管理单元发送的固件升级命令;PCIE设备通过I3C协议接口向设备管理单元发送响应消息;PCIE设备通过I3C协议接口接收设备管理单元发送的固件文件;PCIE设备根据固件文件,对当前固件进行升级。设备管理单元通过I3C协议接口与PCIE设备通信,实现PCIE设备的固件升级,摆脱了PCIE设备的固件升级对OS的依赖和约束,提高了PCIE设备的易用性和可维护性。并且,通过扩展的I3C通信协议中的写操作,采用带外通信方式对一个或多个PCIE设备的固件进行升级,简化了升级过程,提高了升级的效率。In the second aspect, an embodiment of the present application provides a firmware upgrade method, including: a PCIE device receives a firmware upgrade command sent by a device management unit through an I3C protocol interface; the PCIE device sends a response message to the device management unit through the I3C protocol interface; the PCIE device receives a firmware file sent by the device management unit through the I3C protocol interface; the PCIE device upgrades the current firmware according to the firmware file. The device management unit communicates with the PCIE device through the I3C protocol interface to implement the firmware upgrade of the PCIE device, gets rid of the dependence and constraints of the firmware upgrade of the PCIE device on the OS, and improves the usability and maintainability of the PCIE device. In addition, through the write operation in the extended I3C communication protocol, the firmware of one or more PCIE devices is upgraded using an out-of-band communication method, which simplifies the upgrade process and improves the efficiency of the upgrade.
在一种可能的设计中,PCIE设备通过I3C协议接口向设备管理单元发送升级完成消息。通过通知设备管理单元完成对当前固件的升级,避免设备管理单元重复对PCIE设备的当前固件进行升级,提高升级的效率。In a possible design, the PCIE device sends an upgrade completion message to the device management unit via the I3C protocol interface. By notifying the device management unit to complete the upgrade of the current firmware, the device management unit is prevented from repeatedly upgrading the current firmware of the PCIE device, thereby improving the efficiency of the upgrade.
在另一种可能的设计中,PCIE设备通过I3C协议接口向设备管理单元发送中断请求;PCIE设备通过I3C协议接口接收设备管理单元发送的中断响应,中断响应用于指示允许PCIE设备发送升级完成消息。PCIE设备通过扩展的I3C通信协议中的中断操作,采用带外通信方式通知设备管理单元升级完成消息,简化了升级过程,提高了升级的效率。In another possible design, the PCIE device sends an interrupt request to the device management unit through the I3C protocol interface; the PCIE device receives an interrupt response sent by the device management unit through the I3C protocol interface, and the interrupt response is used to indicate that the PCIE device is allowed to send an upgrade completion message. The PCIE device uses an interrupt operation in the extended I3C communication protocol to notify the device management unit of the upgrade completion message in an out-of-band communication manner, thereby simplifying the upgrade process and improving the efficiency of the upgrade.
在另一种可能的设计中,PCIE设备通过I3C协议接口接收设备管理单元发送的查询请求;PCIE设备根据查询请求,确定是否完成对当前固件进行升级;若PCIE设备完成对当前固件进行升级,则PCIE设备通过I3C协议接口向设备管理单元发送升级完成消息,若PCIE设备未完成对当前固件进行升级,则PCIE设备通过I3C协议接口向设备管理单元发送等待消息。设备管理单元通过扩展的I3C通信协议中的读操作,实现了对PCIE设备的固件升级状态的查询,实现了对PCIE设备的固件升级状态的监控和管理,不仅摆脱了PCIE设备的固件升级对OS的依赖和约束,提高了PCIE设备的易用性和可维护性,而且简化了查询过程,提高了查询效率。In another possible design, the PCIE device receives a query request sent by the device management unit through the I3C protocol interface; the PCIE device determines whether the current firmware upgrade is completed according to the query request; if the PCIE device completes the current firmware upgrade, the PCIE device sends an upgrade completion message to the device management unit through the I3C protocol interface; if the PCIE device does not complete the current firmware upgrade, the PCIE device sends a waiting message to the device management unit through the I3C protocol interface. The device management unit realizes the query of the firmware upgrade status of the PCIE device through the read operation in the extended I3C communication protocol, realizes the monitoring and management of the firmware upgrade status of the PCIE device, which not only gets rid of the dependence and constraint of the firmware upgrade of the PCIE device on the OS, improves the usability and maintainability of the PCIE device, but also simplifies the query process and improves the query efficiency.
在另一种可能的设计中,PCIE设备通过I3C协议接口接收设备管理单元发送的查询命令;PCIE设备通过I3C协议接口向设备管理单元发送查询响应。以便允许设备管理单元通过I3C协议接口向PCIE设备发送查询请求。In another possible design, the PCIE device receives the query command sent by the device management unit through the I3C protocol interface; the PCIE device sends a query response to the device management unit through the I3C protocol interface, so as to allow the device management unit to send a query request to the PCIE device through the I3C protocol interface.
在另一种可能的设计中,响应消息包括确认信息和否定确认信息,PCIE设备判断当前固件是否具备升级条件;若当前固件具备升级条件,则PCIE设备通过I3C协议接口向设备管理单元发送确认信息;若当前固件不具备升级条件,则PCIE设备通过I3C协议接口向设备管理单元发送否定确认信息。通过指示当前固件是否具备升级条件,避免在不具备升级条件的情况下,设备管理单元发送固件文件。In another possible design, the response message includes confirmation information and negative confirmation information, and the PCIE device determines whether the current firmware meets the upgrade conditions; if the current firmware meets the upgrade conditions, the PCIE device sends confirmation information to the device management unit through the I3C protocol interface; if the current firmware does not meet the upgrade conditions, the PCIE device sends negative confirmation information to the device management unit through the I3C protocol interface. By indicating whether the current firmware meets the upgrade conditions, the device management unit is prevented from sending the firmware file when the upgrade conditions are not met.
在另一种可能的设计中,若当前固件具备升级条件,则PCIE设备通过I3C协议接口接收设备管理单元发送的固件文件。通过确定PCIE设备的当前固件具备升级条件的情况下,接收固件文件进行升级,保障PCIE设备对当前固件升级成功。 In another possible design, if the current firmware meets the upgrade conditions, the PCIE device receives the firmware file sent by the device management unit through the I3C protocol interface. By determining that the current firmware of the PCIE device meets the upgrade conditions, the firmware file is received for upgrading, ensuring that the PCIE device successfully upgrades the current firmware.
第三方面,本申请实施例提供一种固件升级装置,包括:In a third aspect, an embodiment of the present application provides a firmware upgrade device, including:
发送模块,用于通过I3C协议接口向PCIE设备发送固件升级命令;The sending module is used to send a firmware upgrade command to the PCIE device through the I3C protocol interface;
接收模块,用于通过I3C协议接口接收PCIE设备发送的响应消息;A receiving module is used to receive a response message sent by a PCIE device through an I3C protocol interface;
发送模块,还用于通过I3C协议接口向PCIE设备发送固件文件,固件文件用于PCIE设备对当前固件进行升级。The sending module is also used to send a firmware file to the PCIE device through the I3C protocol interface. The firmware file is used by the PCIE device to upgrade the current firmware.
在一种可能的设计中,接收模块,还用于通过I3C协议接口接收PCIE设备发送的升级完成消息。In a possible design, the receiving module is also used to receive an upgrade completion message sent by the PCIE device through an I3C protocol interface.
在另一种可能的设计中,接收模块,还用于通过I3C协议接口接收PCIE设备发送的中断请求;发送模块,还用于通过I3C协议接口向PCIE设备发送中断响应,中断响应用于指示允许PCIE设备发送升级完成消息。In another possible design, the receiving module is further used to receive an interrupt request sent by the PCIE device through the I3C protocol interface; the sending module is further used to send an interrupt response to the PCIE device through the I3C protocol interface, and the interrupt response is used to indicate that the PCIE device is allowed to send an upgrade completion message.
在另一种可能的设计中,发送模块,还用于通过I3C协议接口向PCIE设备发送查询请求,查询请求用于PCIE设备确定是否完成对当前固件进行升级;接收模块,还用于若PCIE设备完成对当前固件进行升级,则通过I3C协议接口接收PCIE设备发送的升级完成消息,若PCIE设备未完成对当前固件进行升级,则通过I3C协议接口接收PCIE设备发送的等待消息。In another possible design, the sending module is also used to send a query request to the PCIE device through the I3C protocol interface, and the query request is used by the PCIE device to determine whether the upgrade of the current firmware is completed; the receiving module is also used to receive the upgrade completion message sent by the PCIE device through the I3C protocol interface if the PCIE device has completed the upgrade of the current firmware, and receive the waiting message sent by the PCIE device through the I3C protocol interface if the PCIE device has not completed the upgrade of the current firmware.
在另一种可能的设计中,发送模块,还用于通过I3C协议接口向PCIE设备发送查询命令;接收模块,还用于通过I3C协议接口接收PCIE设备发送查询响应。In another possible design, the sending module is further used to send a query command to the PCIE device through the I3C protocol interface; the receiving module is further used to receive a query response sent by the PCIE device through the I3C protocol interface.
在另一种可能的设计中,发送模块,还用于通过I3C协议接口向PCIE设备组中的至少两个PCIE设备发送固件升级命令。In another possible design, the sending module is further used to send a firmware upgrade command to at least two PCIE devices in the PCIE device group through an I3C protocol interface.
在另一种可能的设计中,发送模块,还用于通过I3C协议接口向I3C总线上的所有PCIE设备发送固件升级命令。In another possible design, the sending module is also used to send a firmware upgrade command to all PCIE devices on the I3C bus through the I3C protocol interface.
在另一种可能的设计中,响应消息包括确认信息和否定确认信息,确认响应用于指示当前固件具备升级条件,否定确认信息用于指示当前固件不具备升级条件;In another possible design, the response message includes confirmation information and negative confirmation information, the confirmation response is used to indicate that the current firmware meets the upgrade conditions, and the negative confirmation information is used to indicate that the current firmware does not meet the upgrade conditions;
发送模块,还用于若响应消息为确认信息,则通过I3C协议接口向PCIE设备发送固件文件。The sending module is also used to send the firmware file to the PCIE device through the I3C protocol interface if the response message is confirmation information.
该固件升级装置执行的操作及有益效果可以参见上述第一方面的方法以及有益效果,重复之处不再赘述。The operations and beneficial effects performed by the firmware upgrade device can refer to the method and beneficial effects of the first aspect mentioned above, and the repeated parts will not be repeated.
第四方面,本申请实施例提供一种固件升级装置,包括:In a fourth aspect, an embodiment of the present application provides a firmware upgrade device, including:
接收模块,用于通过I3C协议接口接收设备管理单元发送的固件升级命令;A receiving module, used for receiving a firmware upgrade command sent by a device management unit through an I3C protocol interface;
发送模块,用于通过I3C协议接口向设备管理单元发送响应消息;A sending module, used for sending a response message to the device management unit through an I3C protocol interface;
接收模块,还用于通过I3C协议接口接收设备管理单元发送的固件文件;The receiving module is also used to receive the firmware file sent by the device management unit through the I3C protocol interface;
处理模块,用于根据固件文件,对当前固件进行升级。The processing module is used to upgrade the current firmware according to the firmware file.
在一种可能的设计中,发送模块,还用于通过I3C协议接口向设备管理单元发送升级完成消息。In a possible design, the sending module is also used to send an upgrade completion message to the device management unit through the I3C protocol interface.
在另一种可能的设计中,发送模块,还用于通过I3C协议接口向设备管理单元发送中断请求;接收模块,还用于通过I3C协议接口接收设备管理单元发送的中断响应,中断响应用于指示允许PCIE设备发送升级完成消息。In another possible design, the sending module is also used to send an interrupt request to the device management unit through the I3C protocol interface; the receiving module is also used to receive an interrupt response sent by the device management unit through the I3C protocol interface, and the interrupt response is used to indicate that the PCIE device is allowed to send an upgrade completion message.
在另一种可能的设计中,接收模块,还用于通过I3C协议接口接收设备管理单元发送的查询请求;处理模块,还用于根据查询请求,确定是否完成对当前固件进行升级;发送模块,还用于若PCIE设备完成对当前固件进行升级,则通过I3C协议接口向设备管理单元发送升级完成消息,若PCIE设备未完成对当前固件进行升级,则通过I3C协议接口向设备管理单元发送等待消息。In another possible design, the receiving module is also used to receive a query request sent by the device management unit through the I3C protocol interface; the processing module is also used to determine whether the current firmware is upgraded based on the query request; the sending module is also used to send an upgrade completion message to the device management unit through the I3C protocol interface if the PCIE device has completed upgrading the current firmware, and send a waiting message to the device management unit through the I3C protocol interface if the PCIE device has not completed upgrading the current firmware.
在另一种可能的设计中,接收模块,还用于通过I3C协议接口接收设备管理单元发送的查询命令;发送模块,还用于通过I3C协议接口向设备管理单元发送查询响应。In another possible design, the receiving module is further used to receive a query command sent by the device management unit through the I3C protocol interface; the sending module is further used to send a query response to the device management unit through the I3C protocol interface.
在另一种可能的设计中,响应消息包括确认信息和否定确认信息, In another possible design, the response message includes confirmation information and negative confirmation information.
处理模块,还用于判断当前固件是否具备升级条件;The processing module is also used to determine whether the current firmware meets the upgrade conditions;
发送模块,用于若当前固件具备升级条件,则通过I3C协议接口向设备管理单元发送确认信息;若当前固件不具备升级条件,则通过I3C协议接口向设备管理单元发送否定确认信息。The sending module is used to send confirmation information to the device management unit through the I3C protocol interface if the current firmware meets the upgrade conditions; if the current firmware does not meet the upgrade conditions, send negative confirmation information to the device management unit through the I3C protocol interface.
在另一种可能的设计中,接收模块,还用于若当前固件具备升级条件,则PCIE设备通过I3C协议接口接收设备管理单元发送的固件文件。In another possible design, the receiving module is also used to, if the current firmware meets the upgrade conditions, enable the PCIE device to receive the firmware file sent by the device management unit through the I3C protocol interface.
该固件升级装置执行的操作及有益效果可以参见上述第二方面的方法以及有益效果,重复之处不再赘述。The operations and beneficial effects performed by the firmware upgrade device can refer to the method and beneficial effects of the second aspect mentioned above, and the repeated parts will not be repeated.
第五方面,本申请提供了一种设备管理单元,设备管理单元包括处理器和存储器,存储器用于存储计算机执行指令;处理器用于执行存储器所存储的计算机执行指令,以使设备管理单元执行如第一方面中任意一项的方法。In a fifth aspect, the present application provides a device management unit, which includes a processor and a memory, the memory being used to store computer-executable instructions; the processor being used to execute the computer-executable instructions stored in the memory, so that the device management unit performs a method such as any one of the methods in the first aspect.
第六方面,本申请提供了一种PCIE设备,PCIE设备包括处理器和存储器,存储器用于存储计算机执行指令;处理器用于执行存储器所存储的计算机执行指令,以使PCIE设备执行如第二方面中任意一项的方法。In a sixth aspect, the present application provides a PCIE device, the PCIE device comprising a processor and a memory, the memory being used to store computer execution instructions; the processor being used to execute the computer execution instructions stored in the memory, so that the PCIE device executes a method such as any one of the methods in the second aspect.
第七方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质用于存储计算机程序,当计算机程序被执行时,使得如第一方面和第二方面中任意一项的方法被实现。In a seventh aspect, the present application provides a computer-readable storage medium for storing a computer program. When the computer program is executed, the method of any one of the first and second aspects is implemented.
第八方面,本申请提供一种包括计算机程序的计算机程序产品,当计算机程序被执行时,使得如第一方面和第二方面中任意一项的方法被实现。In an eighth aspect, the present application provides a computer program product comprising a computer program, which, when executed, enables the method of any one of the first and second aspects to be implemented.
第九方面,本申请提供一种固件升级系统,固件升级系统包括设备管理单元和PCIE设备,设备管理单元用于执行如第一方面中任意一项的方法,PCIE设备用于执行如第二方面中任意一项的方法。In a ninth aspect, the present application provides a firmware upgrade system, the firmware upgrade system comprising a device management unit and a PCIE device, the device management unit is used to execute a method such as any one of the first aspect, and the PCIE device is used to execute a method such as any one of the second aspect.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。In order to more clearly illustrate the technical solutions in the embodiments of the present application or the background technology, the drawings required for use in the embodiments of the present application or the background technology will be described below.
图1是本申请实施例提供的一种固件升级系统的架构示意图;FIG1 is a schematic diagram of the architecture of a firmware upgrade system provided in an embodiment of the present application;
图2是本申请实施例提供的一种写操作命令时序的示意图;FIG2 is a schematic diagram of a write operation command timing provided by an embodiment of the present application;
图3是本申请实施例提供的另一种写操作命令时序的示意图;FIG3 is a schematic diagram of another write operation command timing provided by an embodiment of the present application;
图4是本申请实施例提供的又一种写操作命令时序的示意图;FIG4 is a schematic diagram of another write operation command timing provided by an embodiment of the present application;
图5是本申请实施例提供的一种中断操作命令时序的示意图;FIG5 is a schematic diagram of an interrupt operation command timing provided by an embodiment of the present application;
图6是本申请实施例提供的一种目标必须数据字节字段的数据格式示意图;FIG6 is a schematic diagram of a data format of a target required data byte field provided in an embodiment of the present application;
图7是本申请实施例提供的一种读操作命令时序的示意图;FIG7 is a schematic diagram of a read operation command timing provided by an embodiment of the present application;
图8是本申请实施例提供的一种固件升级方法的流程示意图;FIG8 is a flowchart of a firmware upgrade method provided in an embodiment of the present application;
图9是本申请实施例提供的一种固件文件的文件格式的示意图;FIG9 is a schematic diagram of a file format of a firmware file provided in an embodiment of the present application;
图10是本申请实施例提供的另一种固件升级方法的流程示意图;FIG10 is a flow chart of another firmware upgrade method provided in an embodiment of the present application;
图11是本申请实施例提供的又一种固件升级方法的流程示意图;FIG11 is a flow chart of another firmware upgrade method provided in an embodiment of the present application;
图12是本申请实施例提供的一种固件升级装置的示意图;FIG12 is a schematic diagram of a firmware upgrade device provided in an embodiment of the present application;
图13是本申请实施例提供的另一种固件升级装置的示意图;FIG13 is a schematic diagram of another firmware upgrade device provided in an embodiment of the present application;
图14是本申请实施例提供的一种设备管理单元的结构示意图;14 is a schematic diagram of the structure of a device management unit provided in an embodiment of the present application;
图15是本申请实施例提供的一种PCIE设备的结构示意图。FIG. 15 is a schematic diagram of the structure of a PCIE device provided in an embodiment of the present application.
具体实施方式 Detailed ways
下面结合本申请实施例中涉及的名词进行解释;The following is an explanation of the terms involved in the embodiments of the present application;
集成电路(Inter Integrated Circuit,I2C)总线:两线制同步串行总线,采用主从通信机制,使用串行时钟线(Serial clock line,SCL)和串行数据线(Serial data line,SDA)进行通信,支持多个节点共总线连接,通过物理地址区分各个节点。Inter Integrated Circuit (I2C) bus: a two-wire synchronous serial bus that adopts a master-slave communication mechanism, uses a serial clock line (SCL) and a serial data line (SDA) for communication, supports multiple nodes connected to the same bus, and distinguishes each node by physical address.
改进型集成电路(Improved Inter Integrated Circuit,I3C)总线:是I2C总线的改进型,I3C总线与I2C总线的物理形态一致,使用SCL和SDA进行通信,可以向下兼容I2C。相对于I2C,I3C总线的数据速率高,支持动态地址分配以支持多个相同物理地址的节点共总线连接,支持中断机制以从节点主动向主节点发送数据。Improved Inter Integrated Circuit (I3C) bus: It is an improved version of the I2C bus. The I3C bus has the same physical form as the I2C bus, uses SCL and SDA for communication, and is backward compatible with I2C. Compared with I2C, the I3C bus has a high data rate, supports dynamic address allocation to support multiple nodes with the same physical address to share the bus, and supports an interrupt mechanism to actively send data from the node to the master node.
固件(Firmware):运行于PCIE设备的芯片的代码,用于实现PCIE设备的功能,例如网卡的固件可以用于实现网卡的网络连接、报文收发、协议卸载等。Firmware: Code running on the chip of a PCIE device, used to implement the functions of the PCIE device. For example, the firmware of a network card can be used to implement the network connection, message sending and receiving, and protocol unloading of the network card.
带外和带内:带外是相对于业务接口PCIE(称为带内)的描述,即不使用原生的PCIE通信方式,例如访问PCIE设备的PCIE配置空间。带外通信是指通过PCIE设备的带外接口协议实现的通信。其中,带外接口协议包括但不限于系统管理总线(System Management Bus,SMBus)、I3C、网络控制器边带接口(Network Controller Sideband Interface,NC-SI)等。Out-of-band and in-band: Out-of-band is a description relative to the service interface PCIE (called in-band), that is, the native PCIE communication method is not used, such as accessing the PCIE configuration space of the PCIE device. Out-of-band communication refers to communication achieved through the out-of-band interface protocol of the PCIE device. Among them, the out-of-band interface protocol includes but is not limited to the System Management Bus (System Management Bus, SMBus), I3C, Network Controller Sideband Interface (Network Controller Sideband Interface, NC-SI), etc.
PCIE设备需要升级固件来新增功能或者修复问题。可以采用如下方式对PCIE设备的固件进行升级:第一,使用厂家工具对PCIE设备的固件进行升级。其中,厂家工具安装和运行在操作系统(Operation System,OS)上,OS安装并运行在服务器的CPU系统上。厂家工具通过PCIE接口与PCIE设备的固件通信,将待升级的固件文件传输给PCIE设备,并指示PCIE设备进行升级。但是,厂家工具安装并且运行在OS中,与OS的版本存在耦合关系,厂家需要为每种OS开发和维护配套的工具,以便用于固件升级,工作量很大,PCIE设备固件升级功能存在应用限制。第二,通过带外通信方式升级PCIE设备的固件,但是,现有带外接口协议层次复杂,开销较大,固件升级过程复杂,固件升级效率低。并且,在服务器处于待机(standby)状态下,PCIE接口一直处于复位状态,设备管理单元无法与PCIE设备通信。为了解决上述技术问题,本申请实施例提供了如下解决方案。PCIE devices need to upgrade their firmware to add new functions or fix problems. The firmware of PCIE devices can be upgraded in the following ways: First, use the manufacturer's tool to upgrade the firmware of the PCIE device. Among them, the manufacturer's tool is installed and runs on the operating system (OS), and the OS is installed and runs on the CPU system of the server. The manufacturer's tool communicates with the firmware of the PCIE device through the PCIE interface, transfers the firmware file to be upgraded to the PCIE device, and instructs the PCIE device to upgrade. However, the manufacturer's tool is installed and runs in the OS, and there is a coupling relationship with the OS version. The manufacturer needs to develop and maintain supporting tools for each OS for firmware upgrade, which is a lot of work, and the firmware upgrade function of the PCIE device has application limitations. Second, the firmware of the PCIE device is upgraded through out-of-band communication. However, the existing out-of-band interface protocol is complex in level, has a large overhead, and the firmware upgrade process is complex, and the firmware upgrade efficiency is low. In addition, when the server is in standby state, the PCIE interface is always in a reset state, and the device management unit cannot communicate with the PCIE device. In order to solve the above technical problems, the embodiments of the present application provide the following solutions.
如图1所示,图1是本申请实施例提供的一种固件升级系统的架构示意图。固件升级系统可以包括设备管理单元(Management Device)和PCIE设备。设备管理单元可以独立于计算机系统中的OS和CPU,用于在计算机系统里面执行部件管理、资产管理功能,例如上下电控制、风扇调速、电子标签管理等。设备管理单元可以通过I3C协议接口与PCIE设备通信,发送固件升级的命令给PCIE设备,并将待升级的固件文件发送给PCIE设备,使得PCIE设备执行固件升级。其中,设备管理单元可以为基板管理控制器(Board Management Controller,BMC)或其他控制器,例如复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD),数字信号处理器(Digital Singnal Processor,DSP)等。PCIE设备可以包括但不限于网卡、独立磁盘冗余阵列(Redundant Array of Independent Disks,RAID)卡、显卡、固态硬盘(Solid State Disk,SSD)卡、加速卡等。As shown in FIG. 1 , FIG. 1 is a schematic diagram of the architecture of a firmware upgrade system provided by an embodiment of the present application. The firmware upgrade system may include a device management unit (Management Device) and a PCIE device. The device management unit may be independent of the OS and CPU in the computer system, and is used to perform component management and asset management functions in the computer system, such as power on and off control, fan speed regulation, electronic label management, etc. The device management unit may communicate with the PCIE device through the I3C protocol interface, send a firmware upgrade command to the PCIE device, and send the firmware file to be upgraded to the PCIE device, so that the PCIE device performs the firmware upgrade. Among them, the device management unit may be a baseboard management controller (Board Management Controller, BMC) or other controllers, such as a complex programmable logic device (Complex Programmable Logic Device, CPLD), a digital signal processor (Digital Singnal Processor, DSP), etc. PCIE devices may include but are not limited to network cards, redundant arrays of independent disks (Redundant Array of Independent Disks, RAID) cards, graphics cards, solid state drives (Solid State Disk, SSD) cards, acceleration cards, etc.
其中,设备管理单元作为计算机系统中I3C总线的主节点(即控制节点(Controller)),PCIE设备作为I3C总线的从节点(即目标设备(Target Device))。I3C与I2C在物理信号上兼容,都使用SCL总线和SDA总线。PCIE设备与设备管理单元实际上是利用了已有的I2C通道的物理连接,运行I3C通信协议进行通信,而不需要额外增加物理信号。Among them, the device management unit is the master node (i.e., the control node (Controller)) of the I3C bus in the computer system, and the PCIE device is the slave node (i.e., the target device (Target Device)) of the I3C bus. I3C and I2C are compatible in physical signals, and both use the SCL bus and SDA bus. The PCIE device and the device management unit actually utilize the physical connection of the existing I2C channel and run the I3C communication protocol for communication without adding additional physical signals.
本申请实施例扩展了I3C通信协议,I3C通信协议定义了读操作、写操作和中断操作,通过I3C的写操作和中断操作,可以实现设备管理单元对PCIE设备的固件进行升级。通过I3C的读操作,可以实现设备管理单元查询PCIE设备的固件升级状态。I3C通信协议具体规定如下:The embodiment of the present application extends the I3C communication protocol. The I3C communication protocol defines read operations, write operations, and interrupt operations. Through the I3C write operations and interrupt operations, the device management unit can upgrade the firmware of the PCIE device. Through the I3C read operation, the device management unit can query the firmware upgrade status of the PCIE device. The I3C communication protocol is specifically specified as follows:
如图2所示,图2是本申请实施例提供的一种写操作命令时序的示意图。在单播传输场景下,写操作 命令时序依次包括起始(Start,S)字段、I3C保留地址(I3C Reserved Address)字段、第一读/写(Read/Write,R/W)字段、第一确认(Acknowledge,A)字段、I3C直接通信公共命令字(I3C Directed Common Command Code,I3C Directed CCC)字段、第一奇偶校验(Parity,Par)字段、重复起始(Repeat Start,Sr)字段、目标地址(Target Address)字段、第二读/写(Read/Write,R/W)字段、第二确认字段、数据1(Data1)字段、第二奇偶校验字段、……、数据N(Data N)字段、第三奇偶校验字段和停止(Stop,P)字段。其中:As shown in FIG. 2 , FIG. 2 is a schematic diagram of a write operation command timing provided by an embodiment of the present application. In a unicast transmission scenario, a write operation The command sequence includes the start (S) field, the I3C reserved address (I3C Reserved Address) field, the first read/write (R/W) field, the first acknowledgement (A) field, the I3C direct communication common command word (I3C Directed Common Command Code, I3C Directed CCC) field, the first parity (Par) field, the repeat start (Sr) field, the target address (Target Address) field, the second read/write (R/W) field, the second acknowledgement field, the data 1 (Data1) field, the second parity field, ..., the data N (Data N) field, the third parity field and the stop (P) field. Among them:
起始(Start,S)字段:表示命令时序启动。Start (S) field: indicates the start of the command sequence.
I3C保留地址(I3C Reserved Address)字段:表示I3C总线上所有PCIE设备的I3C地址,I3C Reserved Address字段是一个广播地址字段。在本申请实施例中可以表示I3C总线上多个PCIE设备的I3C地址。例如,I3C Reserved Address字段的取值可以为7’h7E。I3C Reserved Address field: represents the I3C addresses of all PCIE devices on the I3C bus. The I3C Reserved Address field is a broadcast address field. In the embodiment of the present application, it can represent the I3C addresses of multiple PCIE devices on the I3C bus. For example, the value of the I3C Reserved Address field can be 7’h7E.
第一读/写(read/Write,R/W)字段:表示设备管理单元向I3C总线上的多个PCIE设备发起读写操作。其中,第一读/写字段的取值可以为0x1或0x0,0x1表示读(R),0x0表示写(W)。The first read/write (R/W) field: indicates that the device management unit initiates a read/write operation to multiple PCIE devices on the I3C bus. The value of the first read/write field can be 0x1 or 0x0, 0x1 indicates read (R), and 0x0 indicates write (W).
第一确认字段:表示PCIE设备对设备管理单元发起的读写操作的响应,对应第一读/写字段。其中,第一确认字段的取值可以为0x1或0x0,示意性地,0x0表示确认(Acknowledge,ACK),0x1表示否定确认(Negative-Acknowledge,NACK)。First confirmation field: indicates the response of the PCIE device to the read/write operation initiated by the device management unit, corresponding to the first read/write field. The value of the first confirmation field can be 0x1 or 0x0. Schematically, 0x0 indicates confirmation (Acknowledge, ACK), and 0x1 indicates negative confirmation (Negative-Acknowledge, NACK).
I3C Directed CCC字段:表示采用I3C直接通信方式,也即点对点通信方式。I3C Directed CCC字段可以使用公共命令字CCC(Common Command Code)字段中的保留命令字。保留命令字的取值范围可以为0xE0-0xFE,保留命令字的不同取值可以表示不同的功能。例如保留命令字的取值为0xFA,也即当I3C Directed CCC字段的取值为0xFA时,表示对目标PCIE设备的固件进行升级的操作。I3C Directed CCC field: indicates that the I3C direct communication method is adopted, that is, the point-to-point communication method. The I3C Directed CCC field can use the reserved command word in the common command word CCC (Common Command Code) field. The value range of the reserved command word can be 0xE0-0xFE, and different values of the reserved command word can represent different functions. For example, the value of the reserved command word is 0xFA, that is, when the value of the I3C Directed CCC field is 0xFA, it indicates the operation of upgrading the firmware of the target PCIE device.
第一奇偶校验(Parity,Par)字段:表示对I3C Directed CCC字段进行奇偶检验。The first parity (Parity, Par) field: indicates that a parity check is performed on the I3C Directed CCC field.
重复起始(Repeat Start,Sr)字段:表示命令时序重新启动。I3C总线上的一个命令时序(从Start到Stop的过程)包括多个阶段,在每个阶段的开始使用Sr表示重新启动。Repeat Start (Sr) field: indicates the restart of the command sequence. A command sequence on the I3C bus (the process from Start to Stop) includes multiple stages, and Sr is used at the beginning of each stage to indicate a restart.
目标地址(Target Address)字段:表示I3C总线上的目标PCIE设备的I3C地址。Target Address field: indicates the I3C address of the target PCIE device on the I3C bus.
第二读/写(Read/Write,R/W)字段:表示设备管理单元向目标PCIE设备发起读写操作。The second Read/Write (R/W) field indicates that the device management unit initiates a read/write operation to the target PCIE device.
第二确认字段:表示目标PCIE设备对设备管理单元发起的读写操作的响应,对应第二读/写字段。The second confirmation field: indicates the response of the target PCIE device to the read/write operation initiated by the device management unit, corresponding to the second read/write field.
数据1(Data1)字段-数据N(Data N)字段:表示设备管理单元向目标PCIE设备写入固件文件的内容。Data 1 field - Data N field: indicates the content of the firmware file written by the device management unit to the target PCIE device.
第二奇偶校验字段:表示对数据1字段中的固件文件的内容进行奇偶校验。Second parity check field: indicates that a parity check is performed on the contents of the firmware file in the data 1 field.
第三奇偶校验字段:表示对数据N字段中的固件文件的内容进行奇偶校验。The third parity check field: indicates that a parity check is performed on the contents of the firmware file in the data N field.
停止(Stop,P)字段:表示命令时序结束。Stop (P) field: indicates the end of the command sequence.
其中,第一确认字段和第二确认字段为PCIE设备执行的动作,其他字段为设备管理单元执行的动作。通过该写操作命令时序可以实现对I3C总线上的多个PCIE设备中目标PCIE设备的固件进行升级。The first confirmation field and the second confirmation field are actions performed by the PCIE device, and the other fields are actions performed by the device management unit. The firmware of the target PCIE device among the multiple PCIE devices on the I3C bus can be upgraded through the write operation command sequence.
如图3所示,图3是本申请实施例提供的另一种写操作命令时序的示意图。在组播传输场景下,写操作命令时序包括组地址(Group Address)字段,不同于图2中的目标地址(Target Address)字段。组地址(Group Address)字段表示PCIE设备组的I3C地址。如果I3C总线上的多个PCIE设备中存在相同型号的至少两个PCIE设备,可以将相同型号的至少两个PCIE设备划分为一个PCIE设备组,每个PCIE设备组对应一个组地址(Group Address)。此外,图3所示的写操作命令时序中的其他字段与图2所示的写操作命令时序中的其他字段表示的含义相同,具体实现方式可以参考图2所示的写操作命令时序,此处不再赘述。As shown in Figure 3, Figure 3 is a schematic diagram of another write operation command timing provided by an embodiment of the present application. In a multicast transmission scenario, the write operation command timing includes a group address (Group Address) field, which is different from the target address (Target Address) field in Figure 2. The group address (Group Address) field represents the I3C address of the PCIE device group. If there are at least two PCIE devices of the same model among the multiple PCIE devices on the I3C bus, the at least two PCIE devices of the same model can be divided into a PCIE device group, and each PCIE device group corresponds to a group address (Group Address). In addition, the other fields in the write operation command timing shown in Figure 3 have the same meaning as the other fields in the write operation command timing shown in Figure 2. The specific implementation method can refer to the write operation command timing shown in Figure 2, which will not be repeated here.
其中,第一确认字段和第二确认字段为PCIE设备执行的动作,其他字段为设备管理单元执行的动作。 通过图3所示的写操作命令时序可以实现同时对PCIE设备组内至少两个相同型号的PCIE设备的固件进行升级。The first confirmation field and the second confirmation field are actions performed by the PCIE device, and the other fields are actions performed by the device management unit. The write operation command sequence shown in FIG. 3 can be used to simultaneously upgrade the firmware of at least two PCIE devices of the same model in the PCIE device group.
如图4所示,图4是本申请实施例提供的另一种写操作命令时序的示意图。如果I3C总线上的所有PCIE设备的型号相同,则可以采用广播传输方式。在广播传输场景下,写操作命令时序依次包括起始(Start,S)字段、I3C保留地址(I3C Reserved Address)字段、第一读/写(read/Write,R/W)字段、第一确认(Acknowledge,A)字段、I3C广播通信公共命令字(I3C Broadcast Common Command Code,I3C Broadcast CCC)字段、第一奇偶校验(Parity,Par)字段、数据1(Data1)字段、第二奇偶校验字段、……、数据N字段、第三奇偶校验字段和停止(Stop,P)字段。其中:As shown in Figure 4, Figure 4 is a schematic diagram of another write operation command timing provided by an embodiment of the present application. If the models of all PCIE devices on the I3C bus are the same, a broadcast transmission method can be used. In the broadcast transmission scenario, the write operation command timing includes the start (Start, S) field, the I3C reserved address (I3C Reserved Address) field, the first read/write (read/Write, R/W) field, the first confirmation (Acknowledge, A) field, the I3C broadcast communication common command word (I3C Broadcast Common Command Code, I3C Broadcast CCC) field, the first parity (Parity, Par) field, the data 1 (Data1) field, the second parity field, ..., the data N field, the third parity field and the stop (Stop, P) field. Among them:
I3C Broadcast CCC字段:表示采用I3C广播通信方式。I3C Broadcast CCC字段可以使用公共命令字CCC字段中的保留命令字,保留命令字的取值范围可以为0x61-0x7F。保留命令字的不同取值可以表示不同的功能。例如保留命令字的取值为0x7A,也即当I3C Broadcast CCC字段的取值为0x7A时,表示对所有PCIE设备的固件进行升级的操作。I3C Broadcast CCC field: indicates that the I3C broadcast communication method is adopted. The I3C Broadcast CCC field can use the reserved command word in the public command word CCC field, and the value range of the reserved command word can be 0x61-0x7F. Different values of the reserved command word can represent different functions. For example, the value of the reserved command word is 0x7A, that is, when the value of the I3C Broadcast CCC field is 0x7A, it means that the firmware of all PCIE devices is upgraded.
由于采用I3C广播通信方式,相对于图2和图3所示的写操作命令时序,不需要针对某个PCIE设备或某个PCIE设备组的固件进行升级,而是针对I3C总线上的所有PCIE设备的固件进行升级。因此在I3C Broadcast CCC字段以及第一奇偶校验之后,就是数据1(Data1)字段-数据N(DataN)字段,也即设备管理单元向I3C总线上的所有PCIE设备写入固件文件的内容。Due to the I3C broadcast communication mode, relative to the write operation command timing shown in Figures 2 and 3, it is not necessary to upgrade the firmware of a certain PCIE device or a certain PCIE device group, but to upgrade the firmware of all PCIE devices on the I3C bus. Therefore, after the I3C Broadcast CCC field and the first parity check, there is the Data 1 field - Data N field, that is, the device management unit writes the content of the firmware file to all PCIE devices on the I3C bus.
其中,第一确认字段为PCIE设备执行的动作,其他字段为设备管理单元执行的动作。通过该写操作命令时序可以实现同时对I3C总线上的所有PCIE设备的固件进行升级。The first confirmation field is the action performed by the PCIE device, and the other fields are the actions performed by the device management unit. The firmware of all PCIE devices on the I3C bus can be upgraded at the same time through the write operation command sequence.
如图5所示,图5是本申请实施例提供的一种中断操作命令时序的示意图。该中断操作命令时序包括起始(Start,S)字段、目标地址(Target Address)字段、读/写(Read/Write,R/W)字段、确认(Acknowledge,A)字段、目标必须数据字节(Target Mandatory Data Byte,Target MDB)字段、第一转换(Transition,T)字段、目标带内中断数据1(Target InBand Interrupt Data1,Target IBI Data1)、第二转换(Transition,T)字段、……、目标带内中断数据N(Target InBand Interrupt Data N,Target IBI Data N)、第三转换(Transition,T)字段、停止(Stop,P)字段。其中:As shown in Figure 5, Figure 5 is a schematic diagram of an interrupt operation command sequence provided by an embodiment of the present application. The interrupt operation command sequence includes a start (Start, S) field, a target address (Target Address) field, a read/write (Read/Write, R/W) field, an acknowledgement (Acknowledge, A) field, a target mandatory data byte (Target Mandatory Data Byte, Target MDB) field, a first transition (Transition, T) field, a target in-band interrupt data 1 (Target InBand Interrupt Data1, Target IBI Data1), a second transition (Transition, T) field, ..., a target in-band interrupt data N (Target InBand Interrupt Data N, Target IBI Data N), a third transition (Transition, T) field, and a stop (Stop, P) field. Among them:
起始(Start,S)字段:表示命令时序启动。Start (S) field: indicates the start of the command sequence.
目标地址(Target Address)字段:表示I3C总线上的目标PCIE设备的I3C地址。Target Address field: indicates the I3C address of the target PCIE device on the I3C bus.
读/写(Read/Write,R/W)字段:表示目标PCIE设备向设备管理单元发起读写操作。其中,读/写字段的取值可以为0x1或0x0,0x1表示读(R),0x0表示写(W)。Read/Write (R/W) field: indicates that the target PCIE device initiates a read/write operation to the device management unit. The value of the read/write field can be 0x1 or 0x0, 0x1 indicates read (R), and 0x0 indicates write (W).
确认(Acknowledge,A)字段:表示设备管理单元对目标PCIE设备发起读写操作的响应。其中,确认字段的取值可以为0x1或0x0,0x0表示确认(Acknowledge,ACK),0x1表示否定确认(Negative-Acknowledge,NACK)。Acknowledge (A) field: indicates the response of the device management unit to the read and write operation initiated by the target PCIE device. The value of the Acknowledge field can be 0x1 or 0x0, 0x0 indicates Acknowledge (ACK), and 0x1 indicates Negative-Acknowledge (NACK).
目标必须数据字节(Target MDB)字段:表示目标PCIE设备向设备管理单元发起的中断操作的中断组号和中断号,中断组号和中断号用于表示中断类型和/或中断内容。在本申请实施例中,中断组号和中断号可以用于表示传输PCIE设备的固件的升级完成消息。如图6所示,图6是本申请实施例提供的一种Target MDB字段的数据格式示意图。Target MDB字段包括3个比特(bit)的中断组号字段和5个比特(bit)的中断号字段。其中,中断组号字段的取值可以为3’b000,中断号字段的取值范围可以为5’h00-5’h1F。例如,当中断组号字段的取值、且中断号字段的取值可以为5’h1B时,表示请求传输PCIE设备的固件的升级完成消息。Target required data byte (Target MDB) field: indicates the interrupt group number and interrupt number of the interrupt operation initiated by the target PCIE device to the device management unit, and the interrupt group number and interrupt number are used to indicate the interrupt type and/or interrupt content. In an embodiment of the present application, the interrupt group number and interrupt number can be used to indicate the upgrade completion message of the firmware of the PCIE device being transmitted. As shown in Figure 6, Figure 6 is a data format schematic diagram of a Target MDB field provided in an embodiment of the present application. The Target MDB field includes a 3-bit interrupt group number field and a 5-bit interrupt number field. Among them, the value of the interrupt group number field can be 3'b000, and the value range of the interrupt number field can be 5'h00-5'h1F. For example, when the value of the interrupt group number field and the value of the interrupt number field can be 5'h1B, it indicates a request to transmit the firmware upgrade completion message of the PCIE device.
第一转换(Transition,T)字段:表示在发送Target MDB字段的数据之后,数据是否传输完毕。第一 转换字段的取值可以为0x1或0x0,0x1表示后续还有数据需要传输,0x0表示数据传输完毕,也即该字段前面的数据字节为最后一个数据字节。First Transition (T) field: indicates whether the data transmission is completed after sending the data in the Target MDB field. The value of the conversion field can be 0x1 or 0x0. 0x1 indicates that there is more data to be transmitted, and 0x0 indicates that the data transmission is completed, that is, the data byte in front of this field is the last data byte.
目标带内中断数据1-目标带内中断数据N(Target IBI Data1-Target IBI Data N):表示目标设备向控制节点传输的中断内容。在本申请实施例中,表示PCIE设备向设备管理单元发送的升级完成消息的内容。Target IBI Data 1-Target IBI Data N: represents the content of the interrupt transmitted by the target device to the control node. In the embodiment of the present application, it represents the content of the upgrade completion message sent by the PCIE device to the device management unit.
第二转换(Transition,T)字段:表示在发送Target IBI Data1发送之后,固件升级完成消息的内容是否发送完毕。0x1表示后续还有升级完成消息的内容需要发送,0x0表示升级完成消息的内容发送完毕。The second Transition (T) field indicates whether the content of the firmware upgrade completion message has been sent after the Target IBI Data 1 is sent. 0x1 indicates that there is more content of the upgrade completion message to be sent later, and 0x0 indicates that the content of the upgrade completion message has been sent.
第三转换(Transition,T)字段:表示在发送Target IBI Data N发送之后,升级完成消息的内容是否发送完毕。0x1表示后续还有升级完成消息的内容需要发送,0x0表示升级完成消息的内容发送完毕。The third Transition (T) field indicates whether the content of the upgrade completion message has been sent after the Target IBI Data N is sent. 0x1 indicates that there is more content of the upgrade completion message to be sent later, and 0x0 indicates that the content of the upgrade completion message has been sent.
停止(Stop,P)字段:表示命令时序结束。Stop (P) field: indicates the end of the command sequence.
其中,起始(Start,S)字段、确认(Acknowledge,A)字段和停止(Stop,P)字段为设备管理单元执行的动作,其他字段为PCIE设备执行的动作。通过中断操作命令时序可以实现PCIE设备向设备管理单元发送升级完成消息。The Start (S) field, the Acknowledge (A) field and the Stop (P) field are actions performed by the device management unit, and the other fields are actions performed by the PCIE device. The PCIE device can send an upgrade completion message to the device management unit by interrupting the operation command sequence.
如图7所示,图7是本申请实施例提供的一种读操作命令时序的示意图。该读操作命令时序包括起始(Start,S)字段、I3C保留地址(I3C Reserved Address)字段、第一读/写(Read/Write,R/W)字段、第一确认(Acknowledge,A)字段、I3C直接通信的公共命令字(I3C Directed Common Command Code,I3C Directed CCC)字段、奇偶校验(Parity,Par)字段、第一重复起始(Repeat Start,Sr)字段、目标地址(Target Address)字段、第二读/写(Read/Write,R/W)字段、第二确认字段、第一等待消息(Wait Message)字段、第一转换(Transition,T)字段、……、第二重复起始(Repeat Start,Sr)字段、目标地址(Target Address)字段、第三读/写(Read/Write,R/W)字段、第三确认字段、第二等待消息(Wait Message)字段、第二转换(Transition,T)字段、第三重复起始(Repeat Start,Sr)字段、目标地址(Target Address)字段、第四读/写(Read/Write,R/W)字段、第四确认字段、升级完成消息(Update Complete)字段、第三转换(Transition,T)字段和停止(Stop,P)字段。其中:As shown in Figure 7, Figure 7 is a schematic diagram of a read operation command sequence provided by an embodiment of the present application. The read operation command sequence includes a start (Start, S) field, an I3C reserved address (I3C Reserved Address) field, a first read/write (Read/Write, R/W) field, a first confirmation (Acknowledge, A) field, a common command word for I3C direct communication (I3C Directed Common Command Code, I3C Directed CCC) field, a parity (Parity, Par) field, a first repeat start (Repeat Start, Sr) field, a target address (Target Address) field, a second read/write (Read/Write, R/W) field, a second confirmation field, a first wait message (Wait Message) word, and a second confirmation field. segment, the first transition (Transition, T) field, ..., the second repeat start (Repeat Start, Sr) field, the target address (Target Address) field, the third read/write (Read/Write, R/W) field, the third confirmation field, the second wait message (Wait Message) field, the second transition (Transition, T) field, the third repeat start (Repeat Start, Sr) field, the target address (Target Address) field, the fourth read/write (Read/Write, R/W) field, the fourth confirmation field, the update complete message (Update Complete) field, the third transition (Transition, T) field and the stop (Stop, P) field. Among them:
I3C Directed CCC字段:表示采用I3C直接通信方式,也即点对点通信方式。I3C Directed CCC字段可以使用公共命令字CCC字段中的保留命令字,保留命令字的取值范围为0xE0-0xFE,保留命令字的不同取值表示不同的功能。例如,保留命令字的取值为0xFB,也即当I3C Directed CCC字段的取值为0xFB时,表示查询PCIE设备的固件升级状态。I3C Directed CCC field: indicates the use of I3C direct communication, that is, point-to-point communication. The I3C Directed CCC field can use the reserved command word in the public command word CCC field. The value range of the reserved command word is 0xE0-0xFE. Different values of the reserved command word represent different functions. For example, the value of the reserved command word is 0xFB, that is, when the value of the I3C Directed CCC field is 0xFB, it means querying the firmware upgrade status of the PCIE device.
等待消息(Wait Message)字段:表示当PCIE设备未完成固件的升级操作时,通知设备管理单元继续等待。Wait Message字段可以使用CCC字段中的保留命令字。保留命令字的取值范围可以为0xE0-0xFE,保留命令字的不同取值表示不同的功能。例如保留命令字的取值为0xEF,也即当Wait Message字段的取值为0xEF时,表示PCIE设备通知设备管理单元继续等待。Wait Message field: indicates that when the PCIE device has not completed the firmware upgrade operation, it notifies the device management unit to continue waiting. The Wait Message field can use the reserved command word in the CCC field. The value range of the reserved command word can be 0xE0-0xFE, and different values of the reserved command word represent different functions. For example, when the value of the reserved command word is 0xEF, that is, when the value of the Wait Message field is 0xEF, it means that the PCIE device notifies the device management unit to continue waiting.
升级完成消息(Update Complete)字段:表示升级完成消息,也即当PCIE设备已完成固件升级的操作时,通知设备管理单元固件升级完成。Update Complete字段可以使用CCC字段中的保留命令字,Update Complete字段的取值与I3C Directed CCC字段的取值一致,表示对查询PCIE设备的固件升级状态的响应。Update Complete field: indicates the update completion message, that is, when the PCIE device has completed the firmware upgrade operation, it notifies the device management unit that the firmware upgrade is complete. The Update Complete field can use the reserved command word in the CCC field. The value of the Update Complete field is consistent with the value of the I3C Directed CCC field, indicating a response to querying the firmware upgrade status of the PCIE device.
设备管理单元向PCIE设备发起读操作之后,如果PCIE设备没有完成固件的升级操作,则通知设备管理单元等待,如果设备管理单元继续查询PCIE设备的固件升级状态,则重新发起一次重复起始(Repeat Start,Sr)过程,下一次PCIE设备可能继续通知设备管理单元等待,循环往复多次。最后,如果PCIE设备通知设备管理单元升级完成消息,设备管理单元结束整个命令时序。整个查询PCIE设备的固件升级状态的过程分为多个阶段,因此上述读操作命令时序中包括多个阶段。其中,第一重复起始(Repeat Start,Sr)字段、目标地址(Target Address)字段、第二读/写(Read/Write,R/W)字段、第二确认字段、第一等待消息(Wait Message)字段、第一转换(Transition,T)字段为第一个阶段。第二重复起始(Repeat Start,Sr) 字段、目标地址(Target Address)字段、第三读/写(read/Write,R/W)字段、第三确认字段、第二等待消息(Wait Message)字段、第二转换(Transition,T)字段为第N个阶段。第三重复起始(Repeat Start,Sr)字段、目标地址(Target Address)字段、第四读/写(read/Write,R/W)字段、第四确认字段、升级完成消息(Update Complete)字段、第三转换(Transition,T)字段为最后一个阶段。After the device management unit initiates a read operation to the PCIE device, if the PCIE device has not completed the firmware upgrade operation, it notifies the device management unit to wait. If the device management unit continues to query the firmware upgrade status of the PCIE device, it re-initiates a repeat start (Repeat Start, Sr) process. The next time the PCIE device may continue to notify the device management unit to wait, and the cycle repeats multiple times. Finally, if the PCIE device notifies the device management unit of the upgrade completion message, the device management unit ends the entire command sequence. The entire process of querying the firmware upgrade status of the PCIE device is divided into multiple stages, so the above-mentioned read operation command sequence includes multiple stages. Among them, the first repeat start (Repeat Start, Sr) field, the target address (Target Address) field, the second read/write (Read/Write, R/W) field, the second confirmation field, the first wait message (Wait Message) field, and the first transition (Transition, T) field are the first stage. Second Repeat Start (Repeat Start, Sr) The first stage is the Nth stage. The third repeat start (Sr) field, the target address (Target Address) field, the fourth read/write (R/W) field, the third confirmation field, the second wait message (Wait Message) field, and the second transition (T) field are the Nth stage. The third repeat start (Sr) field, the target address (Target Address) field, the fourth read/write (R/W) field, the fourth confirmation field, the update complete message (Update Complete) field, and the third transition (T) field are the last stage.
图7所示的读操作命令时序中其他字段与图2-图6中的字段表示的含义类似,具体实现方式可以参考图2-图6中的字段,此处不再赘述。The meanings of other fields in the read operation command timing shown in FIG. 7 are similar to those of the fields in FIG. 2 to FIG. 6 . For specific implementation methods, reference may be made to the fields in FIG. 2 to FIG. 6 , which will not be described in detail here.
其中,第一确认字段、第二确认字段、第一等待字段、第一转换字段、第三确认字段、第二等待字段、第二转换字段、第四确认字段、更新完成消息字段、第三转换字段为PCIE设备执行的动作,其他字段为设备管理单元执行的动作。通过图7所示读操作命令时序,可以实现设备管理单元查询PCIE设备的固件升级状态。Among them, the first confirmation field, the second confirmation field, the first waiting field, the first conversion field, the third confirmation field, the second waiting field, the second conversion field, the fourth confirmation field, the update completion message field, and the third conversion field are actions performed by the PCIE device, and the other fields are actions performed by the device management unit. Through the read operation command timing shown in Figure 7, the device management unit can query the firmware upgrade status of the PCIE device.
需要说明的是,以上图5所示的中断操作命令时序和图7所示的读操作命令时序可以应用于单播传输场景,也可以应用于组播传输场景和广播传输场景。It should be noted that the interrupt operation command timing shown in FIG. 5 and the read operation command timing shown in FIG. 7 can be applied to unicast transmission scenarios, as well as multicast transmission scenarios and broadcast transmission scenarios.
基于上述I3C通信协议,本申请实施例提供了如下固件升级方法。Based on the above I3C communication protocol, the embodiment of the present application provides the following firmware upgrade method.
如图8所示,图8是本申请实施例提供的一种固件升级方法的流程示意图。本申请实施例中的步骤主要包括:As shown in Figure 8, Figure 8 is a flowchart of a firmware upgrade method provided in an embodiment of the present application. The steps in the embodiment of the present application mainly include:
S801,设备管理单元通过I3C协议接口向PCIE设备发送固件升级命令。S801, the device management unit sends a firmware upgrade command to the PCIE device through the I3C protocol interface.
在一种实现方式中,设备管理单元可以从I3C总线上的多个PCIE设备选取一个PCIE设备作为目标PCIE设备,通过I3C协议接口向目标PCIE设备发送固件升级命令。其中,固件升级命令包括目标PCIE设备的I3C地址。In one implementation, the device management unit may select a PCIE device from multiple PCIE devices on the I3C bus as the target PCIE device, and send a firmware upgrade command to the target PCIE device via the I3C protocol interface, wherein the firmware upgrade command includes the I3C address of the target PCIE device.
在另一种实现方式中,如果I3C总线上的多个PCIE设备中存在相同型号的至少两个PCIE设备,可以将相同型号的至少两个PCIE设备划分为一个PCIE设备组,每个PCIE设备组对应一个组地址(Group Address)。设备管理单元通过I3C协议接口向PCIE设备组中的至少两个PCIE设备发送固件升级命令,其中,固件升级命令包括PCIE设备组的I3C地址(也即组地址)。In another implementation, if there are at least two PCIE devices of the same model among the multiple PCIE devices on the I3C bus, the at least two PCIE devices of the same model can be divided into a PCIE device group, and each PCIE device group corresponds to a group address (Group Address). The device management unit sends a firmware upgrade command to at least two PCIE devices in the PCIE device group through the I3C protocol interface, wherein the firmware upgrade command includes the I3C address (i.e., the group address) of the PCIE device group.
在另一种实现方式中,如果I3C总线上的所有PCIE设备的型号相同,设备管理单元采用广播方式,通过I3C协议接口向I3C总线上的所有PCIE设备发送固件升级命令。其中,固件升级命令包括广播地址。In another implementation, if all PCIE devices on the I3C bus have the same model, the device management unit sends a firmware upgrade command to all PCIE devices on the I3C bus through the I3C protocol interface in a broadcasting manner, wherein the firmware upgrade command includes a broadcast address.
S802,PCIE设备通过I3C协议接口向设备管理单元发送响应消息。S802, the PCIE device sends a response message to the device management unit through the I3C protocol interface.
可选的,响应消息可以包括确认信息和否定确认信息。PCIE设备接收到固件升级命令之后,可以确定当前固件是否具备升级条件,例如确定PCIE设备当前是否存在进程阻塞,是否处于工作繁忙状态,或者是否存在足够的存储空间等。如果确定当前固件具备升级条件,则通过I3C协议接口向设备管理单元发送确认信息。如果确定当前固件不具备升级条件,则通过I3C协议接口向设备管理单元发送否定确认信息。Optionally, the response message may include confirmation information and negative confirmation information. After receiving the firmware upgrade command, the PCIE device may determine whether the current firmware meets the upgrade conditions, such as determining whether the PCIE device currently has a process block, whether it is in a busy state, or whether there is sufficient storage space. If it is determined that the current firmware meets the upgrade conditions, a confirmation message is sent to the device management unit through the I3C protocol interface. If it is determined that the current firmware does not meet the upgrade conditions, a negative confirmation message is sent to the device management unit through the I3C protocol interface.
S803,设备管理单元通过I3C协议接口向PCIE设备发送固件文件。S803, the device management unit sends the firmware file to the PCIE device through the I3C protocol interface.
具体的,如果设备管理单元根据响应消息,确定PCIE设备的当前固件需要升级,则通过I3C协议接口向PCIE设备发送固件文件。Specifically, if the device management unit determines, based on the response message, that the current firmware of the PCIE device needs to be upgraded, the firmware file is sent to the PCIE device through the I3C protocol interface.
如图9所示,图9是本申请实施例提供的一种固件文件的文件格式的示意图。该固件文件包括头部区域和数据区域。头部区域包括但不限于文件名称(Name)、版本号(Version)、发布时间(Release Time)、设备标识(Device ID)、大小(Size)、校验和(Checksum)。数据区域包括固件代码。通过定义固件文件的文件格式,可以保障固件文件传出的可靠性、以及保障设备管理单元与PCIE设备之间的I3C协议接口的兼容性。As shown in Figure 9, Figure 9 is a schematic diagram of the file format of a firmware file provided in an embodiment of the present application. The firmware file includes a header area and a data area. The header area includes but is not limited to the file name (Name), version number (Version), release time (Release Time), device identification (Device ID), size (Size), and checksum (Checksum). The data area includes the firmware code. By defining the file format of the firmware file, the reliability of the firmware file transmission can be guaranteed, as well as the compatibility of the I3C protocol interface between the device management unit and the PCIE device.
S804,PCIE设备根据所述固件文件,对PCIE设备的当前固件进行升级。 S804: The PCIE device upgrades the current firmware of the PCIE device according to the firmware file.
具体的,PCIE设备接收到固件文件之后,将固件文件写入存储介质,例如Flash存储器/非易失性随机访问存储器(Non-Volatile Random Access Memory,NVRAM),完成对当前固件的升级。Specifically, after receiving the firmware file, the PCIE device writes the firmware file to a storage medium, such as Flash memory/non-volatile random access memory (NVRAM), to complete the upgrade of the current firmware.
可选的,如果设备管理单元同时对多个PCIE设备或PCIE设备组的固件进行升级,设备管理单元可以通过I3C协议接口同时向多个PCIE设备或PCIE设备组发送固件文件,多个PCIE设备或PCIE设备组接收到固件文件之后,每个PCIE设备各自执行固件升级的操作。Optionally, if the device management unit upgrades the firmware of multiple PCIE devices or PCIE device groups at the same time, the device management unit can send firmware files to multiple PCIE devices or PCIE device groups at the same time through the I3C protocol interface. After multiple PCIE devices or PCIE device groups receive the firmware files, each PCIE device performs the firmware upgrade operation.
在本申请实施例中,设备管理单元通过I3C协议接口与PCIE设备通信,实现PCIE设备的固件升级,摆脱了PCIE设备的固件升级对OS的依赖和约束,提高了PCIE设备的易用性和可维护性。并且,通过扩展的I3C通信协议中的写操作,采用带外通信方式对一个或多个PCIE设备的固件进行升级,简化了升级过程,提高了升级的效率。In the embodiment of the present application, the device management unit communicates with the PCIE device through the I3C protocol interface to implement the firmware upgrade of the PCIE device, thereby getting rid of the dependence and constraints of the firmware upgrade of the PCIE device on the OS, and improving the usability and maintainability of the PCIE device. In addition, through the write operation in the extended I3C communication protocol, the firmware of one or more PCIE devices is upgraded by using an out-of-band communication method, which simplifies the upgrade process and improves the efficiency of the upgrade.
如图10所示,图10是本申请实施例提供的另一种固件升级方法的流程示意图。本申请实施例中的步骤主要包括:As shown in Figure 10, Figure 10 is a flow chart of another firmware upgrade method provided in an embodiment of the present application. The steps in the embodiment of the present application mainly include:
S1001,设备管理单元通过I3C协议接口向PCIE设备发送固件升级命令。S1001, the device management unit sends a firmware upgrade command to the PCIE device through the I3C protocol interface.
S1002,PCIE设备通过I3C协议接口向设备管理单元发送响应消息。S1002, the PCIE device sends a response message to the device management unit through the I3C protocol interface.
S1003,设备管理单元通过I3C协议接口向PCIE设备发送固件文件。S1003, the device management unit sends the firmware file to the PCIE device through the I3C protocol interface.
S1004,PCIE设备根据所述固件文件,对PCIE设备的当前固件进行升级。S1004: The PCIE device upgrades the current firmware of the PCIE device according to the firmware file.
S1001-S1004的实现方式与图8所示的实施例中S801-S804的实现方式相同,具体实现方式可以参考图8所示的S801-S804,此处不再赘述。The implementation method of S1001-S1004 is the same as the implementation method of S801-S804 in the embodiment shown in FIG8 . For the specific implementation method, reference may be made to S801-S804 shown in FIG8 , and will not be described in detail here.
S1005,PCIE设备通过I3C协议接口向设备管理单元发送中断请求。S1005, the PCIE device sends an interrupt request to the device management unit through the I3C protocol interface.
其中,中断请求可以包括中断组号和中断号,中断组号和中断号可以表示中断类型和/或中断内容。例如,当中断组号3’b000和中断号5’h1B时,表示请求传输PCIE设备的固件的升级完成消息。The interrupt request may include an interrupt group number and an interrupt number, and the interrupt group number and the interrupt number may indicate an interrupt type and/or an interrupt content. For example, when the interrupt group number is 3'b000 and the interrupt number is 5'h1B, it indicates a request to transmit an upgrade completion message of the firmware of the PCIE device.
S1006,设备管理单元通过I3C协议接口向PCIE设备发送中断响应。S1006: The device management unit sends an interrupt response to the PCIE device through the I3C protocol interface.
可选的,中断响应可以包括确认信息和否定确认信息。当设备管理单元接受PCIE设备的中断请求时,可以向PCIE设备发送确认信息,确认信息用于指示允许PCIE设备发送升级完成消息。当设备管理单元不接受PCIE设备的中断请求时,可以向PCIE设备发送否定确认信息,否定确认信息用于指示不允许PCIE设备发送升级完成消息。Optionally, the interrupt response may include confirmation information and negative confirmation information. When the device management unit accepts the interrupt request of the PCIE device, it may send confirmation information to the PCIE device, and the confirmation information is used to indicate that the PCIE device is allowed to send an upgrade completion message. When the device management unit does not accept the interrupt request of the PCIE device, it may send negative confirmation information to the PCIE device, and the negative confirmation information is used to indicate that the PCIE device is not allowed to send an upgrade completion message.
S1007,PCIE设备通过I3C协议接口向设备管理单元发送升级完成消息。S1007, the PCIE device sends an upgrade completion message to the device management unit through the I3C protocol interface.
可选的,当PCIE设备接收到的中断响应为确认信息时,PCIE设备通过I3C协议接口向设备管理单元发送升级完成消息。Optionally, when the interrupt response received by the PCIE device is confirmation information, the PCIE device sends an upgrade completion message to the device management unit through the I3C protocol interface.
在本申请实施例中,PCIE设备通过扩展的I3C通信协议中的中断操作,采用带外通信方式通知设备管理单元升级完成消息,简化了升级过程,提高了升级的效率。In the embodiment of the present application, the PCIE device uses an out-of-band communication method to notify the device management unit of the upgrade completion message through an interrupt operation in the extended I3C communication protocol, thereby simplifying the upgrade process and improving the efficiency of the upgrade.
在上述PCIE设备执行固件升级的过程中,设备管理单元可以查询PCIE设备的固件升级状态。以下详细说明设备管理单元查询PCIE设备的固件升级状态的过程。During the process of the PCIE device executing the firmware upgrade, the device management unit can query the firmware upgrade status of the PCIE device. The process of the device management unit querying the firmware upgrade status of the PCIE device is described in detail below.
如图11所示,图11是本申请实施例提供的另一种固件升级方法的流程示意图。本申请实施例中的步骤主要包括:As shown in Figure 11, Figure 11 is a flow chart of another firmware upgrade method provided in an embodiment of the present application. The steps in the embodiment of the present application mainly include:
S1101,设备管理单元向PCIE设备发送固件升级状态的查询命令。S1101, the device management unit sends a query command for the firmware upgrade status to the PCIE device.
S1102,PCIE设备向设备管理单元发送固件升级状态的查询响应。S1102, the PCIE device sends a query response of the firmware upgrade status to the device management unit.
可选的,查询响应可以包括确认信息和否定确认信息。当PCIE设备接受设备管理单元对固件升级状态的查询时,可以向PCIE设备发送确认信息。当设备管理单元不接受设备管理单元对固件升级状态的查 询时,可以向PCIE设备发送否定确认信息。Optionally, the query response may include confirmation information and negative confirmation information. When the PCIE device accepts the query of the device management unit on the firmware upgrade status, the confirmation information may be sent to the PCIE device. When the device management unit does not accept the query of the device management unit on the firmware upgrade status, the confirmation information may be sent to the PCIE device. When querying, a negative confirmation message can be sent to the PCIE device.
S1103,设备管理单元向PCIE设备发送查询请求。S1103, the device management unit sends a query request to the PCIE device.
S1104,PCIE设备确定是否完成固件升级。若PCIE设备确定完成固件升级,则执行S1105,若PCIE设备未完成固件升级,则执行S1106。S1104, the PCIE device determines whether the firmware upgrade is completed. If the PCIE device determines that the firmware upgrade is completed, S1105 is executed, and if the PCIE device does not complete the firmware upgrade, S1106 is executed.
S1105,PCIE设备向设备管理单元发送升级完成消息。S1105, the PCIE device sends an upgrade completion message to the device management unit.
S1106,PCIE设备向设备管理单元发送等待消息。S1106, the PCIE device sends a waiting message to the device management unit.
S1107,设备管理单元确定是否继续查询PCIE设备的固件升级状态。若设备管理单元继续查询PCIE设备的固件升级状态,则重新执行S1103。若设备管理单元确定不再继续查询PCIE设备的固件升级状态,则执行S1108。S1107, the device management unit determines whether to continue to query the firmware upgrade status of the PCIE device. If the device management unit continues to query the firmware upgrade status of the PCIE device, S1103 is re-executed. If the device management unit determines not to continue to query the firmware upgrade status of the PCIE device, S1108 is executed.
S1108,设备管理单元结束查询操作。S1108: The device management unit ends the query operation.
可选的,在设备管理单元结束本次对固件升级状态的查询之后,可以在等待一段时间后重新发起对固件升级状态的查询,或者等待PCIE设备发送的中断请求,所述中断请求用于通知设备管理单元固件升级完成。Optionally, after the device management unit finishes the query on the firmware upgrade status, it can re-initiate the query on the firmware upgrade status after waiting for a period of time, or wait for an interrupt request sent by the PCIE device, wherein the interrupt request is used to notify the device management unit that the firmware upgrade is completed.
需要说明的是,在以上各交互过程中,设备管理单元与PCIE设备之间通过I3C协议接口进行通信。It should be noted that, in the above interaction processes, the device management unit communicates with the PCIE device through the I3C protocol interface.
在本申请实施例中,设备管理单元通过扩展的I3C通信协议中的读操作,实现了对PCIE设备的固件升级状态的查询,实现了对PCIE设备的固件升级状态的监控和管理,不仅摆脱了PCIE设备的固件升级对OS的依赖和约束,提高了PCIE设备的易用性和可维护性,而且简化了查询过程,提高了查询效率。In the embodiment of the present application, the device management unit realizes the query of the firmware upgrade status of the PCIE device through the read operation in the extended I3C communication protocol, and realizes the monitoring and management of the firmware upgrade status of the PCIE device. It not only gets rid of the dependence and constraints of the firmware upgrade of the PCIE device on the OS, improves the usability and maintainability of the PCIE device, but also simplifies the query process and improves the query efficiency.
本申请实施例可以根据上述方法示例对设备管理单元和PCIE设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以使用硬件的形式实现,也可以使用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。下面以使用对应各个功能划分各个功能模块为例进行说明。The embodiment of the present application can divide the functional modules of the device management unit and the PCIE device according to the above method example. For example, each functional module can be divided corresponding to each function, or two or more functions can be integrated into one processing module. The above integrated module can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical functional division. There may be other division methods in actual implementation. The following is an example of using each functional module divided according to each function to illustrate.
如图12所示,图12是本申请实施例提供的一种固件升级装置的示意图。该固件升级装置可以包括发送模块1201和接收模块1202。发送模块1201和接收模块1202可以与外部进行通信,发送模块1201和接收模块1202还可以称为通信接口、收发单元或收发模块。该发送模块1201和接收模块1202可以用于执行上文方法实施例中设备管理单元所执行的动作。As shown in Figure 12, Figure 12 is a schematic diagram of a firmware upgrade device provided in an embodiment of the present application. The firmware upgrade device may include a sending module 1201 and a receiving module 1202. The sending module 1201 and the receiving module 1202 can communicate with the outside, and the sending module 1201 and the receiving module 1202 can also be called a communication interface, a transceiver unit or a transceiver module. The sending module 1201 and the receiving module 1202 can be used to perform the actions performed by the device management unit in the above method embodiment.
在一种可能的设计中,该固件升级装置可实现对应于上文方法实施例中的设备管理单元执行的步骤或者流程,例如,可以为设备管理单元,或者配置于设备管理单元中的芯片或电路。In one possible design, the firmware upgrade device may implement steps or processes executed by the device management unit in the above method embodiment. For example, it may be a device management unit, or a chip or circuit configured in the device management unit.
发送模块1201,用于通过I3C协议接口向PCIE设备发送固件升级命令;The sending module 1201 is used to send a firmware upgrade command to the PCIE device through the I3C protocol interface;
接收模块1202,用于通过所述I3C协议接口接收所述PCIE设备发送的响应消息;The receiving module 1202 is used to receive a response message sent by the PCIE device through the I3C protocol interface;
发送模块1201,还用于通过所述I3C协议接口向所述PCIE设备发送固件文件,所述固件文件用于所述PCIE设备对当前固件进行升级。The sending module 1201 is further used to send a firmware file to the PCIE device through the I3C protocol interface, and the firmware file is used for the PCIE device to upgrade the current firmware.
可选的,接收模块1202,还用于通过所述I3C协议接口接收所述PCIE设备发送的升级完成消息。Optionally, the receiving module 1202 is further configured to receive an upgrade completion message sent by the PCIE device through the I3C protocol interface.
可选的,接收模块1202,还用于通过所述I3C协议接口接收所述PCIE设备发送的中断请求;发送模块1201,还用于通过所述I3C协议接口向所述PCIE设备发送中断响应,所述中断响应用于指示允许所述PCIE设备发送所述升级完成消息。Optionally, the receiving module 1202 is further used to receive an interrupt request sent by the PCIE device through the I3C protocol interface; the sending module 1201 is further used to send an interrupt response to the PCIE device through the I3C protocol interface, and the interrupt response is used to indicate that the PCIE device is allowed to send the upgrade completion message.
可选的,发送模块1201,还用于通过所述I3C协议接口向所述PCIE设备发送查询请求,所述查询请求用于所述PCIE设备确定是否完成对所述当前固件进行升级;接收模块1202,还用于若所述PCIE设备完成对所述当前固件进行升级,则通过所述I3C协议接口接收所述PCIE设备发送的升级完成消息,若所 述PCIE设备未完成对所述当前固件进行升级,则通过所述I3C协议接口接收所述PCIE设备发送的等待消息。Optionally, the sending module 1201 is further used to send a query request to the PCIE device through the I3C protocol interface, and the query request is used by the PCIE device to determine whether the upgrade of the current firmware is completed; the receiving module 1202 is also used to receive the upgrade completion message sent by the PCIE device through the I3C protocol interface if the PCIE device completes the upgrade of the current firmware, and if the PCIE device completes the upgrade of the current firmware, If the PCIE device has not completed upgrading the current firmware, a waiting message sent by the PCIE device is received through the I3C protocol interface.
可选的,发送模块1201,还用于通过所述I3C协议接口向所述PCIE设备发送查询命令;Optionally, the sending module 1201 is further configured to send a query command to the PCIE device through the I3C protocol interface;
所述接收模块,还用于通过所述I3C协议接口接收所述PCIE设备发送查询响应。The receiving module is further used to receive a query response sent by the PCIE device through the I3C protocol interface.
可选的,发送模块1201,还用于通过所述I3C协议接口向PCIE设备组中的至少两个PCIE设备发送所述固件升级命令。Optionally, the sending module 1201 is further configured to send the firmware upgrade command to at least two PCIE devices in the PCIE device group through the I3C protocol interface.
可选的,发送模块1201,还用于通过所述I3C协议接口向I3C总线上的所有PCIE设备发送所述固件升级命令。Optionally, the sending module 1201 is further configured to send the firmware upgrade command to all PCIE devices on the I3C bus through the I3C protocol interface.
可选的,响应消息包括确认信息和否定确认信息,确认响应用于指示当前固件具备升级条件,否定确认信息用于指示当前固件不具备升级条件;Optionally, the response message includes confirmation information and negative confirmation information, the confirmation response is used to indicate that the current firmware meets the upgrade conditions, and the negative confirmation information is used to indicate that the current firmware does not meet the upgrade conditions;
发送模块1201,还用于若响应消息为确认信息,则通过I3C协议接口向PCIE设备发送固件文件。The sending module 1201 is further configured to send the firmware file to the PCIE device through the I3C protocol interface if the response message is confirmation information.
需要说明的是,各个模块的实现还可以对应参照图8、图10和图11所示的方法实施例的相应描述,执行上述实施例中设备管理单元所执行的方法和功能。It should be noted that the implementation of each module may also correspond to the corresponding description of the method embodiments shown in FIG. 8 , FIG. 10 and FIG. 11 , and execute the methods and functions executed by the device management unit in the above embodiments.
如图13所示,图13是本申请实施例提供的另一种固件升级装置的示意图。该固件升级装置可以包括接收模块1301、处理模块1302和发送模块1303。接收模块1301和发送模块1303可以与外部进行通信,接收模块1301和发送模块1303还可以称为通信接口、收发单元或收发模块,处理模块1302可以执行处理相关动作。该接收模块1301、处理模块1302和发送模块1303可以用于执行上文方法实施例中PCIE设备所执行的动作。As shown in Figure 13, Figure 13 is a schematic diagram of another firmware upgrade device provided in an embodiment of the present application. The firmware upgrade device may include a receiving module 1301, a processing module 1302, and a sending module 1303. The receiving module 1301 and the sending module 1303 can communicate with the outside, and the receiving module 1301 and the sending module 1303 can also be called a communication interface, a transceiver unit or a transceiver module, and the processing module 1302 can perform processing related actions. The receiving module 1301, the processing module 1302, and the sending module 1303 can be used to perform the actions performed by the PCIE device in the above method embodiment.
在一种可能的设计中,该固件升级装置可实现对应于上文方法实施例中的PCIE设备执行的步骤或者流程,例如,可以为PCIE设备,或者配置于PCIE设备中的芯片或电路。In one possible design, the firmware upgrade device can implement the steps or processes executed by the PCIE device in the above method embodiment. For example, it can be a PCIE device, or a chip or circuit configured in the PCIE device.
接收模块1301,用于通过I3C协议接口接收设备管理单元发送的固件升级命令;The receiving module 1301 is used to receive a firmware upgrade command sent by the device management unit through an I3C protocol interface;
发送模块1303,用于通过所述I3C协议接口向所述设备管理单元发送响应消息;The sending module 1303 is used to send a response message to the device management unit through the I3C protocol interface;
接收模块1301,还用于通过所述I3C协议接口接收所述设备管理单元发送的固件文件;The receiving module 1301 is further configured to receive the firmware file sent by the device management unit through the I3C protocol interface;
处理模块1302,用于根据所述固件文件,对当前固件进行升级。The processing module 1302 is used to upgrade the current firmware according to the firmware file.
可选的,发送模块1303,还用于通过所述I3C协议接口向所述设备管理单元发送升级完成消息。Optionally, the sending module 1303 is further configured to send an upgrade completion message to the device management unit via the I3C protocol interface.
可选的,发送模块1303,还用于通过所述I3C协议接口向所述设备管理单元发送中断请求;接收模块1301,还用于通过所述I3C协议接口接收所述设备管理单元发送的中断响应,所述中断响应用于指示允许所述PCIE设备发送所述升级完成消息。Optionally, the sending module 1303 is also used to send an interrupt request to the device management unit through the I3C protocol interface; the receiving module 1301 is also used to receive an interrupt response sent by the device management unit through the I3C protocol interface, and the interrupt response is used to indicate that the PCIE device is allowed to send the upgrade completion message.
可选的,接收模块1301,还用于通过所述I3C协议接口接收所述设备管理单元发送的查询请求;处理模块1302,还用于根据所述查询请求,确定是否完成对所述当前固件进行升级;Optionally, the receiving module 1301 is further used to receive a query request sent by the device management unit through the I3C protocol interface; the processing module 1302 is further used to determine whether the current firmware is upgraded according to the query request;
发送模块1303,还用于若所述PCIE设备完成对所述当前固件进行升级,则通过所述I3C协议接口向所述设备管理单元发送升级完成消息,若所述PCIE设备未完成对所述当前固件进行升级,则通过所述I3C协议接口向所述设备管理单元发送等待消息。The sending module 1303 is also used to send an upgrade completion message to the device management unit through the I3C protocol interface if the PCIE device completes upgrading the current firmware, and to send a waiting message to the device management unit through the I3C protocol interface if the PCIE device has not completed upgrading the current firmware.
可选的,接收模块1301,还用于通过所述I3C协议接口接收所述设备管理单元发送的查询命令;发送模块1303,还用于通过所述I3C协议接口向所述设备管理单元发送查询响应。Optionally, the receiving module 1301 is further used to receive a query command sent by the device management unit through the I3C protocol interface; the sending module 1303 is further used to send a query response to the device management unit through the I3C protocol interface.
可选的,响应消息包括确认信息和否定确认信息,Optionally, the response message includes confirmation information and negative confirmation information.
处理模块1302,还用于判断当前固件是否具备升级条件;The processing module 1302 is also used to determine whether the current firmware meets the upgrade conditions;
发送模块1303,用于若当前固件具备升级条件,则通过I3C协议接口向设备管理单元发送确认信息;若当前固件不具备升级条件,则通过I3C协议接口向设备管理单元发送否定确认信息。 The sending module 1303 is used to send confirmation information to the device management unit through the I3C protocol interface if the current firmware meets the upgrade conditions; if the current firmware does not meet the upgrade conditions, send negative confirmation information to the device management unit through the I3C protocol interface.
可选的,接收模块1301,还用于若所述当前固件具备升级条件,则PCIE设备通过I3C协议接口接收设备管理单元发送的固件文件。Optionally, the receiving module 1301 is further configured to, if the current firmware meets the upgrade conditions, enable the PCIE device to receive the firmware file sent by the device management unit through the I3C protocol interface.
需要说明的是,各个模块的实现还可以对应参照图8、图10和图11所示的方法实施例的相应描述,执行上述实施例中PCIE设备所执行的方法和功能。It should be noted that the implementation of each module can also correspond to the corresponding description of the method embodiments shown in Figures 8, 10 and 11, and execute the methods and functions executed by the PCIE devices in the above embodiments.
图14是本申请实施例提供的一种设备管理单元的结构示意图。该设备管理单元可应用于如图1所示的系统中,执行上述方法实施例中设备管理单元的功能,或者实现上述方法实施例中设备管理单元执行的步骤或者流程。Figure 14 is a schematic diagram of the structure of a device management unit provided in an embodiment of the present application. The device management unit can be applied to the system shown in Figure 1 to perform the functions of the device management unit in the above method embodiment, or to implement the steps or processes performed by the device management unit in the above method embodiment.
如图14所示,该设备管理单元包括处理器1401和收发器1402。可选地,该设备管理单元还包括存储器1403。其中,处理器1401、收发器1402和存储器1403之间可以通过内部连接通路互相通信,传递控制和/或数据信号,该存储器1403用于存储计算机程序,该处理器1401用于从该存储器1403中调用并运行该计算机程序,以控制该收发器1402收发信号。可选地,设备管理单元还可以包括天线,用于将收发器1402输出的上行数据或上行控制信令通过无线信号发送出去。As shown in FIG14 , the device management unit includes a processor 1401 and a transceiver 1402. Optionally, the device management unit also includes a memory 1403. The processor 1401, the transceiver 1402 and the memory 1403 can communicate with each other through an internal connection path to transmit control and/or data signals. The memory 1403 is used to store a computer program, and the processor 1401 is used to call and run the computer program from the memory 1403 to control the transceiver 1402 to send and receive signals. Optionally, the device management unit may also include an antenna for sending the uplink data or uplink control signaling output by the transceiver 1402 through a wireless signal.
上述处理器1401可以和存储器1403可以合成一个处理装置,处理器1401用于执行存储器1403中存储的程序代码来实现上述功能。具体实现时,该存储器1403也可以集成在处理器1401中,或者独立于处理器1401。The processor 1401 and the memory 1403 may be combined into a processing device, and the processor 1401 is used to execute the program code stored in the memory 1403 to implement the above functions. In specific implementation, the memory 1403 may also be integrated into the processor 1401, or independent of the processor 1401.
上述收发器1402可以与图12中的接收模块和发送模块对应,也可以称为收发单元或收发模块。收发器1402可以包括接收器(或称接收机、接收电路)和发射器(或称发射机、发射电路)。其中,接收器用于接收信号,发射器用于发射信号。The transceiver 1402 may correspond to the receiving module and the sending module in FIG12, and may also be referred to as a transceiver unit or a transceiver module. The transceiver 1402 may include a receiver (or receiver, receiving circuit) and a transmitter (or transmitter, transmitting circuit). The receiver is used to receive signals, and the transmitter is used to transmit signals.
应理解,图14所示的设备管理单元能够实现图8、图10和图11所所示方法实施例中涉及设备管理单元的各个过程。设备管理单元中的各个模块的操作和/或功能,分别为了实现上述方法实施例中的相应流程。具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详述描述。It should be understood that the device management unit shown in FIG14 can implement the various processes involving the device management unit in the method embodiments shown in FIG8, FIG10 and FIG11. The operations and/or functions of each module in the device management unit are respectively to implement the corresponding processes in the above method embodiments. For details, please refer to the description in the above method embodiments. To avoid repetition, the detailed description is appropriately omitted here.
上述处理器1401可以用于执行前面方法实施例中描述的由设备管理单元内部实现的动作,而收发器1402可以用于执行前面方法实施例中描述的设备管理单元向PCIE设备发送或从PCIE设备接收的动作。具体请见前面方法实施例中的描述,此处不再赘述。The processor 1401 can be used to execute the actions implemented by the device management unit in the previous method embodiment, and the transceiver 1402 can be used to execute the actions of the device management unit sending to or receiving from the PCIE device described in the previous method embodiment. Please refer to the description in the previous method embodiment for details, which will not be repeated here.
其中,处理器1401可以是中央处理器单元,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器1401也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。通信总线1404可以是I3C总线。为便于表示,图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信总线1404用于实现这些组件之间的连接通信。其中,本申请实施例中收发器1402用于与其他节点设备进行信令或数据的通信。存储器1403可以包括易失性存储器,例如非挥发性动态随机存取内存(nonvolatile random access memory,NVRAM)、相变化随机存取内存(phase change RAM,PRAM)、磁阻式随机存取内存(magetoresistive RAM,MRAM)等,还可以包括非易失性存储器,例如至少一个磁盘存储器件、电子可擦除可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、闪存器件,例如反或闪存(NOR flash memory)或是反及闪存(NAND flash memory)、半导体器件,例如固态硬盘(solid state disk,SSD)等。存储器1403可选的还可以是至少一个位于远离前述处理器1401的存储装置。存储器1403中可选的还可以存储一组计算机程序代码或配置信息。可选的,处理器1401还可以执行存储器1403中所存储的程序。处理器可以与存储器和收发器相配合,执行上述申请实施例中设备管理单元的任意一种方法和功能。 Among them, the processor 1401 can be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. It can implement or execute various exemplary logic blocks, modules and circuits described in conjunction with the disclosure of this application. The processor 1401 can also be a combination that implements a computing function, such as a combination of one or more microprocessors, a combination of a digital signal processor and a microprocessor, and the like. The communication bus 1404 can be an I3C bus. For ease of representation, only one thick line is used in Figure 14, but it does not mean that there is only one bus or one type of bus. The communication bus 1404 is used to realize the connection communication between these components. Among them, the transceiver 1402 in the embodiment of the present application is used to communicate signaling or data with other node devices. The memory 1403 may include a volatile memory, such as a nonvolatile dynamic random access memory (NVRAM), a phase change RAM (PRAM), a magnetoresistive RAM (MRAM), etc., and may also include a non-volatile memory, such as at least one disk storage device, an electrically erasable programmable read-only memory (EEPROM), a flash memory device, such as a NOR flash memory or a NAND flash memory, a semiconductor device, such as a solid state disk (SSD), etc. The memory 1403 may optionally be at least one storage device located away from the aforementioned processor 1401. The memory 1403 may optionally store a set of computer program codes or configuration information. Optionally, the processor 1401 may also execute a program stored in the memory 1403. The processor may cooperate with the memory and the transceiver to execute any one of the methods and functions of the device management unit in the above-mentioned application embodiment.
图15是本申请实施例提供的一种PCIE设备的结构示意图。该PCIE设备可应用于如图1所示的系统中,执行上述方法实施例中PCIE设备的功能,或者实现上述方法实施例中PCIE设备执行的步骤或者流程。Figure 15 is a schematic diagram of the structure of a PCIE device provided in an embodiment of the present application. The PCIE device can be applied to the system shown in Figure 1 to perform the functions of the PCIE device in the above method embodiment, or to implement the steps or processes performed by the PCIE device in the above method embodiment.
如图15所示,该PCIE设备包括处理器1501和收发器1502。可选地,该PCIE设备还包括存储器1503。其中,处理器1501、收发器1502和存储器1503之间可以通过内部连接通路互相通信,传递控制和/或数据信号,该存储器1503用于存储计算机程序,该处理器1501用于从该存储器1503中调用并运行该计算机程序,以控制该收发器1502收发信号。可选地,PCIE设备还可以包括天线,用于将收发器1502输出的上行数据或上行控制信令通过无线信号发送出去。As shown in FIG15 , the PCIE device includes a processor 1501 and a transceiver 1502. Optionally, the PCIE device also includes a memory 1503. The processor 1501, the transceiver 1502 and the memory 1503 can communicate with each other through an internal connection path to transmit control and/or data signals. The memory 1503 is used to store a computer program, and the processor 1501 is used to call and run the computer program from the memory 1503 to control the transceiver 1502 to send and receive signals. Optionally, the PCIE device may also include an antenna for sending the uplink data or uplink control signaling output by the transceiver 1502 through a wireless signal.
上述处理器1501可以与图13中的处理模块对应,上述处理器1501可以和存储器1503可以合成一个处理装置,处理器1501用于执行存储器1503中存储的程序代码来实现上述功能。具体实现时,该存储器1503也可以集成在处理器1501中,或者独立于处理器1501。The processor 1501 may correspond to the processing module in FIG13 , and the processor 1501 may be combined with the memory 1503 to form a processing device, and the processor 1501 is used to execute the program code stored in the memory 1503 to implement the above functions. In specific implementation, the memory 1503 may also be integrated into the processor 1501, or may be independent of the processor 1501.
上述收发器1502可以与图13中的发送模块和接收模块对应,也可以称为收发单元或收发模块。收发器1502可以包括接收器(或称接收机、接收电路)和发射器(或称发射机、发射电路)。其中,接收器用于接收信号,发射器用于发射信号。The transceiver 1502 may correspond to the sending module and the receiving module in FIG13 , and may also be referred to as a transceiver unit or a transceiver module. The transceiver 1502 may include a receiver (or receiver, receiving circuit) and a transmitter (or transmitter, transmitting circuit). The receiver is used to receive signals, and the transmitter is used to transmit signals.
应理解,图15所示的PCIE设备能够实现图8、图10和图11所示方法实施例中涉及PCIE设备的各个过程。PCIE设备中的各个模块的操作和/或功能,分别为了实现上述方法实施例中的相应流程。具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详述描述。It should be understood that the PCIE device shown in FIG. 15 can implement the various processes involving the PCIE device in the method embodiments shown in FIG. 8 , FIG. 10 and FIG. 11 . The operations and/or functions of each module in the PCIE device are respectively to implement the corresponding processes in the above method embodiments. For details, please refer to the description in the above method embodiments. To avoid repetition, the detailed description is appropriately omitted here.
上述处理器1501可以用于执行前面方法实施例中描述的由PCIE设备内部实现的动作,而收发器1502可以用于执行前面方法实施例中描述的PCIE设备向设备管理单元发送或从设备管理单元接收的动作。具体请见前面方法实施例中的描述,此处不再赘述。The processor 1501 can be used to execute the actions implemented by the PCIE device in the previous method embodiment, and the transceiver 1502 can be used to execute the actions of the PCIE device sending to or receiving from the device management unit described in the previous method embodiment. Please refer to the description in the previous method embodiment for details, which will not be repeated here.
其中,处理器1501可以是前文提及的各种类型的处理器。通信总线1504可以是I3C总线。为便于表示,图15中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信总线1504用于实现这些组件之间的连接通信。其中,本申请实施例中设备的收发器1502用于与其他设备进行信令或数据的通信。存储器1503可以是前文提及的各种类型的存储器。存储器1503可选的还可以是至少一个位于远离前述处理器1501的存储装置。存储器1503中存储一组计算机程序代码或配置信息,且处理器1501执行存储器1503中程序。处理器可以与存储器和收发器相配合,执行上述申请实施例中PCIE设备的任意一种方法和功能。Among them, the processor 1501 can be various types of processors mentioned above. The communication bus 1504 can be an I3C bus. For ease of representation, only one thick line is used in Figure 15, but it does not mean that there is only one bus or one type of bus. The communication bus 1504 is used to realize the connection communication between these components. Among them, the transceiver 1502 of the device in the embodiment of the present application is used to communicate signaling or data with other devices. The memory 1503 can be various types of memories mentioned above. The memory 1503 can also be at least one storage device located away from the aforementioned processor 1501. A set of computer program codes or configuration information is stored in the memory 1503, and the processor 1501 executes the program in the memory 1503. The processor can cooperate with the memory and the transceiver to execute any method and function of the PCIE device in the above-mentioned application embodiment.
本申请实施例还提供了一种芯片系统,该芯片系统包括处理器,用于支持设备管理单元或PCIE设备以实现上述任一实施例中所涉及的功能,例如生成或处理上述方法中所涉及的固件升级。在一种可能的设计中,所述芯片系统还可以包括存储器,所述存储器,用于设备管理单元或PCIE设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。其中,芯片系统的输入和输出,分别对应方法实施例设备管理单元或PCIE设备的接收与发送操作。The embodiment of the present application also provides a chip system, which includes a processor for supporting a device management unit or a PCIE device to implement the functions involved in any of the above embodiments, such as generating or processing the firmware upgrade involved in the above method. In one possible design, the chip system may also include a memory, which is used for the necessary program instructions and data for the device management unit or PCIE device. The chip system can be composed of a chip, or it can include a chip and other discrete devices. Among them, the input and output of the chip system correspond to the receiving and sending operations of the device management unit or PCIE device of the method embodiment, respectively.
根据本申请实施例提供的方法,本申请还提供一种计算机程序产品,该计算机程序产品包括:计算机程序,当该计算机程序在计算机上运行时,使得该计算机执行图8、图10和图11所示实施例中任意一个实施例的方法。According to the method provided in the embodiments of the present application, the present application also provides a computer program product, which includes: a computer program, when the computer program is run on a computer, the computer executes the method of any one of the embodiments shown in Figures 8, 10 and 11.
根据本申请实施例提供的方法,本申请还提供一种计算机可读介质,该计算机可读介质存储有计算机程序,当该计算机程序在计算机上运行时,使得该计算机执行图8、图10和图11所示实施例中任意一个实施例的方法。According to the method provided in the embodiments of the present application, the present application also provides a computer-readable medium, which stores a computer program. When the computer program runs on a computer, the computer executes the method of any one of the embodiments shown in Figures 8, 10 and 11.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。 在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digital video disc,DVD))、或者半导体介质(例如,固态硬盘(solid state disc,SSD))等。In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiments may be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website site, a computer, a server, or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means to another website site, computer, server, or data center. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or a data center that includes one or more available media integrated. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a high-density digital video disc (digital video disc, DVD)), or a semiconductor medium (e.g., a solid state drive (solid state disc, SSD)), etc.
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。 The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims (15)

  1. 一种固件升级方法,其特征在于,所述方法包括:A firmware upgrade method, characterized in that the method comprises:
    设备管理单元通过I3C协议接口向PCIE设备发送固件升级命令;The device management unit sends a firmware upgrade command to the PCIE device through the I3C protocol interface;
    所述设备管理单元通过所述I3C协议接口接收所述PCIE设备发送的响应消息;The device management unit receives a response message sent by the PCIE device through the I3C protocol interface;
    所述设备管理单元通过所述I3C协议接口向所述PCIE设备发送固件文件,所述固件文件用于所述PCIE设备对当前固件进行升级。The device management unit sends a firmware file to the PCIE device through the I3C protocol interface, and the firmware file is used by the PCIE device to upgrade the current firmware.
  2. 如权利要求1所述的方法,其特征在于,所述设备管理单元通过I3C协议接口向所述PCIE设备发送固件文件之后,所述方法还包括:The method according to claim 1, characterized in that after the device management unit sends the firmware file to the PCIE device through the I3C protocol interface, the method further comprises:
    所述设备管理单元通过所述I3C协议接口接收所述PCIE设备发送的升级完成消息。The device management unit receives an upgrade completion message sent by the PCIE device through the I3C protocol interface.
  3. 如权利要求2所述的方法,其特征在于,所述设备管理单元通过所述I3C协议接口接收所述PCIE设备发送的升级完成消息之前,所述方法还包括:The method according to claim 2, characterized in that before the device management unit receives the upgrade completion message sent by the PCIE device through the I3C protocol interface, the method further comprises:
    所述设备管理单元通过所述I3C协议接口接收所述PCIE设备发送的中断请求;The device management unit receives an interrupt request sent by the PCIE device through the I3C protocol interface;
    所述设备管理单元通过所述I3C协议接口向所述PCIE设备发送中断响应,所述中断响应用于指示允许所述PCIE设备向所述设备管理单元发送所述升级完成消息。The device management unit sends an interrupt response to the PCIE device through the I3C protocol interface, where the interrupt response is used to indicate that the PCIE device is allowed to send the upgrade completion message to the device management unit.
    .如权利要求1所述的方法,其特征在于,所述设备管理单元通过所述I3C协议接口向所述PCIE设备发送固件文件之后,所述方法还包括:.The method according to claim 1, characterized in that after the device management unit sends the firmware file to the PCIE device through the I3C protocol interface, the method further comprises:
    所述设备管理单元通过所述I3C协议接口向所述PCIE设备发送查询请求,所述查询请求用于所述PCIE设备确定是否完成对所述当前固件进行升级;The device management unit sends a query request to the PCIE device through the I3C protocol interface, where the query request is used by the PCIE device to determine whether the current firmware has been upgraded;
    若所述PCIE设备完成对所述当前固件进行升级,则所述设备管理单元通过所述I3C协议接口接收所述PCIE设备发送的升级完成消息,若所述PCIE设备未完成对所述当前固件进行升级,则所述设备管理单元通过所述I3C协议接口接收所述PCIE设备发送的等待消息。If the PCIE device completes upgrading the current firmware, the device management unit receives the upgrade completion message sent by the PCIE device through the I3C protocol interface; if the PCIE device does not complete upgrading the current firmware, the device management unit receives the waiting message sent by the PCIE device through the I3C protocol interface.
  4. 如权利要求4所述的方法,其特征在于,所述设备管理单元通过所述I3C协议接口向所述PCIE设备发送查询请求之前,所述方法还包括:The method according to claim 4, characterized in that before the device management unit sends a query request to the PCIE device through the I3C protocol interface, the method further comprises:
    所述设备管理单元通过所述I3C协议接口向所述PCIE设备发送查询命令;The device management unit sends a query command to the PCIE device through the I3C protocol interface;
    所述设备管理单元通过所述I3C协议接口接收所述PCIE设备发送查询响应。The device management unit receives a query response sent by the PCIE device through the I3C protocol interface.
  5. 如权利要求1-5任一项所述的方法,其特征在于,所述设备管理单元通过I3C协议接口向PCIE设备发送固件升级命令包括:The method according to any one of claims 1 to 5, characterized in that the device management unit sends a firmware upgrade command to the PCIE device through the I3C protocol interface, comprising:
    所述设备管理单元通过所述I3C协议接口向PCIE设备组中的至少两个PCIE设备发送所述固件升级命令。The device management unit sends the firmware upgrade command to at least two PCIE devices in the PCIE device group through the I3C protocol interface.
  6. 如权利要求1-5任一项所述的方法,其特征在于,所述设备管理单元通过I3C协议接口向PCIE设备发送固件升级命令包括:The method according to any one of claims 1 to 5, characterized in that the device management unit sends a firmware upgrade command to the PCIE device through the I3C protocol interface, comprising:
    所述设备管理单元通过所述I3C协议接口向I3C总线上的所有PCIE设备发送所述固件升级命令。The device management unit sends the firmware upgrade command to all PCIE devices on the I3C bus through the I3C protocol interface.
  7. 如权利要求1所述的方法,其特征在于,所述响应消息包括确认信息和否定确认信息,所述确认响应用于指示所述当前固件具备升级条件,所述否定确认信息用于指示所述当前固件不具备升级条件;The method according to claim 1, characterized in that the response message includes confirmation information and negative confirmation information, the confirmation response is used to indicate that the current firmware meets the upgrade conditions, and the negative confirmation information is used to indicate that the current firmware does not meet the upgrade conditions;
    所述设备管理单元通过所述I3C协议接口向所述PCIE设备发送固件文件包括:The device management unit sending the firmware file to the PCIE device through the I3C protocol interface includes:
    若所述响应消息为所述确认信息,则所述设备管理单元通过所述I3C协议接口向所述PCIE设备发送所述固件文件。If the response message is the confirmation information, the device management unit sends the firmware file to the PCIE device through the I3C protocol interface.
  8. 一种固件升级方法,其特征在于,所述方法包括:A firmware upgrade method, characterized in that the method comprises:
    PCIE设备通过I3C协议接口接收设备管理单元发送的固件升级命令; The PCIE device receives the firmware upgrade command sent by the device management unit through the I3C protocol interface;
    所述PCIE设备通过所述I3C协议接口向所述设备管理单元发送响应消息;The PCIE device sends a response message to the device management unit through the I3C protocol interface;
    所述PCIE设备通过所述I3C协议接口接收所述设备管理单元发送的固件文件;The PCIE device receives the firmware file sent by the device management unit through the I3C protocol interface;
    所述PCIE设备根据所述固件文件,对当前固件进行升级。The PCIE device upgrades the current firmware according to the firmware file.
  9. 如权利要求9所述的方法,其特征在于,所述PCIE设备根据所述固件文件,对当前固件进行升级之后,所述方法还包括:The method according to claim 9, characterized in that after the PCIE device upgrades the current firmware according to the firmware file, the method further comprises:
    所述PCIE设备通过所述I3C协议接口向所述设备管理单元发送升级完成消息。The PCIE device sends an upgrade completion message to the device management unit through the I3C protocol interface.
  10. 如权利要求10所述的方法,其特征在于,所述PCIE设备通过所述I3C协议接口向所述设备管理单元发送升级完成消息之前,所述方法还包括:The method according to claim 10, characterized in that before the PCIE device sends an upgrade completion message to the device management unit through the I3C protocol interface, the method further comprises:
    所述PCIE设备通过所述I3C协议接口向所述设备管理单元发送中断请求;The PCIE device sends an interrupt request to the device management unit through the I3C protocol interface;
    所述PCIE设备通过所述I3C协议接口接收所述设备管理单元发送的中断响应,所述中断响应用于指示允许所述PCIE设备向所述设备管理单元发送所述升级完成消息。The PCIE device receives an interrupt response sent by the device management unit through the I3C protocol interface, where the interrupt response is used to indicate that the PCIE device is allowed to send the upgrade completion message to the device management unit.
  11. 如权利要求9所述的方法,其特征在于,所述PCIE设备根据所述固件文件,对当前固件进行升级之后,所述方法还包括:The method according to claim 9, characterized in that after the PCIE device upgrades the current firmware according to the firmware file, the method further comprises:
    所述PCIE设备通过所述I3C协议接口接收所述设备管理单元发送的查询请求;The PCIE device receives the query request sent by the device management unit through the I3C protocol interface;
    所述PCIE设备根据所述查询请求,确定是否完成对所述当前固件进行升级;The PCIE device determines, according to the query request, whether the current firmware has been upgraded;
    若所述PCIE设备完成对所述当前固件进行升级,则所述PCIE设备通过所述I3C协议接口向所述设备管理单元发送升级完成消息,若所述PCIE设备未完成对所述当前固件进行升级,则所述PCIE设备通过所述I3C协议接口向所述设备管理单元发送等待消息。If the PCIE device completes upgrading the current firmware, the PCIE device sends an upgrade completion message to the device management unit through the I3C protocol interface; if the PCIE device does not complete upgrading the current firmware, the PCIE device sends a wait message to the device management unit through the I3C protocol interface.
  12. 如权利要求12所述的方法,其特征在于,所述PCIE设备通过所述I3C协议接口接收所述设备管理单元发送的查询请求之前,还包括:The method according to claim 12, characterized in that before the PCIE device receives the query request sent by the device management unit through the I3C protocol interface, it also includes:
    所述PCIE设备通过所述I3C协议接口接收所述设备管理单元发送的查询命令;The PCIE device receives the query command sent by the device management unit through the I3C protocol interface;
    所述PCIE设备通过所述I3C协议接口向所述设备管理单元发送查询响应。The PCIE device sends a query response to the device management unit through the I3C protocol interface.
  13. 如权利要求9-13任一项所述的方法,其特征在于,所述响应消息包括确认信息和否定确认信息,所述方法还包括:The method according to any one of claims 9 to 13, wherein the response message includes confirmation information and negative confirmation information, and the method further comprises:
    所述PCIE设备判断所述当前固件是否具备升级条件;The PCIE device determines whether the current firmware meets the upgrade conditions;
    若所述当前固件具备升级条件,则所述PCIE设备通过所述I3C协议接口向所述设备管理单元发送所述确认信息;若所述当前固件不具备升级条件,则所述PCIE设备通过所述I3C协议接口向所述设备管理单元发送所述否定确认信息。If the current firmware meets the upgrade conditions, the PCIE device sends the confirmation information to the device management unit through the I3C protocol interface; if the current firmware does not meet the upgrade conditions, the PCIE device sends the negative confirmation information to the device management unit through the I3C protocol interface.
  14. 如权利要求14所述的方法,其特征在于,所述PCIE设备通过所述I3C协议接口接收所述设备管理单元发送的固件文件包括:The method according to claim 14, wherein the PCIE device receives the firmware file sent by the device management unit through the I3C protocol interface, comprising:
    若所述当前固件具备升级条件,则所述PCIE设备通过所述I3C协议接口接收所述设备管理单元发送的固件文件。If the current firmware meets the upgrade conditions, the PCIE device receives the firmware file sent by the device management unit through the I3C protocol interface.
  15. 一种固件升级系统,其特征在于,所述固件升级系统包括设备管理单元和PCIE设备,所述设备管理单元用于执行如权利要求1-8任一项所述的方法,所述PCIE设备用于执行如权利要求9-15任一项所述的方法。 A firmware upgrade system, characterized in that the firmware upgrade system comprises a device management unit and a PCIE device, the device management unit is used to execute the method according to any one of claims 1-8, and the PCIE device is used to execute the method according to any one of claims 9-15.
PCT/CN2023/097815 2022-09-28 2023-06-01 Firmware upgrade method and apparatus WO2024066438A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211193397.1 2022-09-28
CN202211193397.1A CN115904426A (en) 2022-09-28 2022-09-28 Firmware upgrading method and device

Publications (1)

Publication Number Publication Date
WO2024066438A1 true WO2024066438A1 (en) 2024-04-04

Family

ID=86488721

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/097815 WO2024066438A1 (en) 2022-09-28 2023-06-01 Firmware upgrade method and apparatus

Country Status (2)

Country Link
CN (1) CN115904426A (en)
WO (1) WO2024066438A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115904426A (en) * 2022-09-28 2023-04-04 超聚变数字技术有限公司 Firmware upgrading method and device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110554943A (en) * 2019-08-09 2019-12-10 苏州浪潮智能科技有限公司 I3C-based multi-node server CMC management system and method
US20210026796A1 (en) * 2019-07-23 2021-01-28 Qualcomm Incorporated I3c point to point
US10996942B1 (en) * 2020-01-21 2021-05-04 Dell Products L.P. System and method for graphics processing unit firmware updates
CN114661317A (en) * 2020-12-23 2022-06-24 英特尔公司 Firmware update techniques
CN114721683A (en) * 2022-04-06 2022-07-08 合肥市芯海电子科技有限公司 Circuit, method, chip and electronic equipment for upgrading firmware
CN115904426A (en) * 2022-09-28 2023-04-04 超聚变数字技术有限公司 Firmware upgrading method and device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210026796A1 (en) * 2019-07-23 2021-01-28 Qualcomm Incorporated I3c point to point
CN110554943A (en) * 2019-08-09 2019-12-10 苏州浪潮智能科技有限公司 I3C-based multi-node server CMC management system and method
US10996942B1 (en) * 2020-01-21 2021-05-04 Dell Products L.P. System and method for graphics processing unit firmware updates
CN114661317A (en) * 2020-12-23 2022-06-24 英特尔公司 Firmware update techniques
CN114721683A (en) * 2022-04-06 2022-07-08 合肥市芯海电子科技有限公司 Circuit, method, chip and electronic equipment for upgrading firmware
CN115904426A (en) * 2022-09-28 2023-04-04 超聚变数字技术有限公司 Firmware upgrading method and device

Also Published As

Publication number Publication date
CN115904426A (en) 2023-04-04

Similar Documents

Publication Publication Date Title
USRE46488E1 (en) Direct data transfer between slave devices
TW202416147A (en) Solid-state drive with initiator mode
CN112035381B (en) Storage system and storage data processing method
EP3660686B1 (en) Method and device for transmitting data processing request
WO2024066438A1 (en) Firmware upgrade method and apparatus
US11966585B2 (en) Storage device and storage system
CN116627869B (en) Data transmission method and device applied to electronic equipment
US9377966B2 (en) Method and apparatus for efficiently processing storage commands
US7822040B2 (en) Method for increasing network transmission efficiency by increasing a data updating rate of a memory
US6457072B1 (en) System and method for effectively performing physical direct memory access operations
CN110275849A (en) For having the hub circuit with the DIMM of multiple components of main-machine communication
TWI239508B (en) Storage device controller apparatus, storage system and storage method
WO2018133879A1 (en) Server and data processing method thereof
CN113268358B (en) Data communication method, device and system and multi-equipment cascade system
JP2005165620A (en) Storage device controller and method for controlling storage device controller
US20230169029A1 (en) Method of transmitting Universal Serial Bus (USB) commands and associated electronic device
TWI847784B (en) Method for performing link management of memory device in predetermined communications architecture with aid of handshaking phase transition control, memory device, electronic device, and memory controller of memory device
CN116466973B (en) Multi-concurrency firmware upgrading method, system, computer equipment and storage medium
CN109165099B (en) Electronic equipment, memory copying method and device
US6745263B2 (en) Automated multiple data unit transfers between a host device and a storage medium
CN116661825A (en) System for realizing online upgrade
CN114691386A (en) Event trigger main control terminal, control chip and control method
KR101192594B1 (en) Direct data transfer between slave devices
CN116149453A (en) Controller, electronic device and data transmission system
CN118035158A (en) Use method of storage device and storage device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23869691

Country of ref document: EP

Kind code of ref document: A1