DPU intelligent network card working component switching method, DPU chip, DPU intelligent network card and electronic equipment
By setting the values of the morphological control registers and startup configuration registers on the DPU smart network card, switching between the DPU smart network card and the SmartNIC mode is achieved, solving the problem of poor power consumption and efficiency of the DPU in specific scenarios, and improving the energy efficiency ratio and data center operation efficiency.
Patent Information
- Application Number
- CN202510344137.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-21
- Publication Date
- 2025-06-24
AI Technical Summary
DPU smart network cards are not as power consumption and efficiency as ordinary network cards or SmartNICs in specific scenarios. A method is needed to design so that the DPU can switch to the SmartNIC state to improve the energy efficiency ratio.
By setting the value of the morphological control register on the DPU smart network card and writing the corresponding configuration information to the startup configuration register, the switching of the working components of the DPU smart network card can be achieved, so that it can quickly switch to SmartNIC mode.
It realizes flexible switching of DPU smart network cards in different scenarios, improves the overall energy efficiency ratio, and significantly improves the operating efficiency and resource utilization of data centers.
Smart Images

Figure CN120196569A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of network communication technologies, and particularly relates to a method for switching working components of a DPU intelligent network card, as well as a DPU chip, a DPU intelligent network card, and an electronic device. Background Art
[0002] Smart Network Interface Card (SmartNIC, also known as intelligent NIC) and Data Processing Unit intelligent network card or DPU intelligent network card (Data Processing Unit, hereinafter referred to as DPU) are products at different stages in the evolution path of network interface cards. There are differences in their architectures, functions, and implementation methods, and they can be applied to various different application scenarios. The original intention of SmartNIC and DPU designs is to offload the load pressure on the CPU of the host (Host), assist the CPU in processing network / storage data and other streams, and let the CPU release more idle resources to process other tasks.
[0003] SmartNIC can achieve partial offloading, only offloading the data plane, while the control plane remains on the host CPU. SmartNIC is suitable for mainstream OVS / VROUTER offloading, host overlay scenarios, gateway security, and similar use cases.
[0004] DPU is a dedicated processor that provides virtualization services for data center infrastructure such as network, storage, security, and management around data processing. It is specifically used for processing network packets, providing network services, ensuring network security, and accelerating network applications, and has functions such as packet processing, network protocol parsing, security protection, and traffic scheduling. A DPU intelligent network card can be defined as a network adapter based on DPU. DPU is usually integrated into SmartNIC. DPU can exist independently of the Host CPU. DPU can build its own bus system to control and manage other devices. The DPU intelligent network card achieves full offloading, and the data plane and control plane of the host (such as a server) run on the embedded CPU inside the DPU. Moreover, the DPU intelligent network card is a programmable intelligent network card that uses eBPF offloading and a mixture of P4 / C language programming to achieve acceleration of all underlying I / Os (including network, storage, security, virtualization, etc.), and is suitable for offloading and acceleration of various conventional tasks, as well as elastic acceleration scenarios for specific business requirements, such as container environments, load balancing, network security, and advanced customized networks.
[0005] Generally speaking, the SmartNIC realizes partial offloading. The offloading operation is a collaboration within the system. That is, the SmartNIC has no CPU and requires the host Host CPU for management. The DPU realizes full offloading, which involves the collaboration between two systems, namely the system involving the DPU and the host system. It offloads one system to another running entity and interacts through a specific interface.
[0006] Although the DPU shows better performance than ordinary network cards or SmartNICs when dealing with complex tasks, in terms of power consumption and efficiency, ordinary network cards or SmartNICs have more advantages under specific scenario conditions.
[0007] Therefore, it is necessary to design a method that enables the DPU to switch to the SmartNIC state at an appropriate time to improve the overall energy efficiency ratio. Summary of the Invention
[0008] The present invention aims to provide a method for switching working components of a DPU intelligent network card, as well as a DPU chip, a DPU intelligent network card, and an electronic device, which can quickly switch between the DPU network card component and the SmartNIC network card component. Through simple software and hardware adaptation, the DPU works in the SmartNIC network card mode, improving the overall energy efficiency ratio.
[0009] According to one aspect of the present invention, there is provided a method for switching working components of a DPU intelligent network card. The DPU intelligent network card includes a first component and a second component that are switchable with each other. The method includes:
[0010] Setting the value of the form control register on the DPU intelligent network card;
[0011] According to the value of the form control register, writing the corresponding configuration information into the startup configuration register on the DPU intelligent network card;
[0012] During the restart phase of the DPU intelligent network card, the boot read-only memory parses the configuration information in the startup configuration register;
[0013] According to the parsed configuration information, the startup process of the first component or the second component is completed accordingly, so that the DPU intelligent network card realizes the switching of working components.
[0014] According to some embodiments, the first component includes an integrated control unit, a system control unit, a management control unit, and a multi-core data processing unit. The first component enables the board-level DDR memory and the board-level management controller. The second component includes a partial subset of the integrated control unit, the system control unit, the management control unit, and the multi-core data processing unit but does not enable the board-level DDR memory and the board-level management controller.
[0015] According to some embodiments, setting the value of the form control register on the DPU smart network card includes:
[0016] During the operation of the first component, the CPU core of the DPU smart network card transfers the switching command to the system control unit through the integrated control unit by means of inter-core communication;
[0017] The system control unit sets the form control register on the DPU smart network card through the first interface.
[0018] According to some embodiments, setting the value of the form control register on the DPU smart network card includes:
[0019] During the operation of the first component, a switching command is sent by the board-level management controller on the DPU smart network card, and the board-level management controller sets the form control register on the DPU smart network card through the first interface.
[0020] According to some embodiments, setting the value of the form control register on the DPU smart network card includes:
[0021] During the operation of the first component, after the switching command sent by the PCIe (Peripheral Component Interconnect Express bus) / CXL (Compute Express Link) physical function device presented by the DPU smart network card on the host side reaches the integrated control unit through the PCIe / CXL link, the integrated control unit transfers the command to the system control unit by means of inter-core communication;
[0022] The system control unit sets the form control register on the DPU smart network card through the first interface.
[0023] According to some embodiments, setting the value of the form control register on the DPU smart network card includes:
[0024] During the operation of the second component, after the switching command sent by the front-end driver of the DPU smart network card on the host side reaches the integrated control unit through the PCIe / CXL link, the integrated control unit transfers the command to the system control unit by means of inter-core communication;
[0025] The system control unit sets the form control register on the DPU smart network card through the first interface.
[0026] According to some embodiments, the first interface is an SPI, I2C, UART or JTAG interface.
[0027] According to some embodiments, writing corresponding configuration information into the startup configuration register on the DPU smart network card according to the value of the form control register includes:
[0028] The CPLD detects in real time whether the value of the form control register changes. The form control register is a CPLD register;
[0029] If the value of the form control register changes, update the startup configuration register according to the value of the form control register.
[0030] According to some embodiments, according to the parsed configuration information, the startup process of the first component or the second component is completed accordingly, so that the DPU smart network card realizes the switching of working components, including:
[0031] After power-on, execute the first-stage bootloader to start the system control unit and start executing the second-stage bootloader of the corresponding firmware;
[0032] If the parsed configuration information is the configuration information of the first component or the second component, the system control unit completes the device initialization of the first component or the second component accordingly and wakes up the integrated control unit and the management control unit.
[0033] According to some embodiments, the first component and the second component are compatible in firmware.
[0034] According to another aspect of the present invention, a DPU chip is provided, including a processor and a memory. When the processor runs the computer program stored on the memory, the method described in any one of the above is implemented.
[0035] According to another aspect of the present invention, a DPU smart network card is provided. The DPU smart network card includes: the DPU chip described above and multiple interfaces, and the DPU chip communicates externally through the interfaces.
[0036] According to another aspect of the present invention, an electronic device is provided, including: the DPU smart network card described above and a central processing unit. The DPU smart network card is used to process data or communicate externally, and the central processing unit is used to process the data scheduled by the DPU smart network card.
[0037] According to another aspect of the present invention, a cloud-controlled network card component switching system is provided. The network card component switching system includes:
[0038] A cloud control platform; and
[0039] According to the DPU intelligent network card described above, the cloud control platform sends a working component switching command to the DPU intelligent network card.
[0040] According to another aspect of the present invention, there is provided a non-transitory computer-readable storage medium having computer-readable instructions stored thereon, which when executed by a processor cause the processor to execute the method described in any one of the above.
[0041] According to an embodiment of the present invention, by reading the configuration information of the startup configuration register and parsing the configuration information during startup, the switching between the first component (such as the DPU network card component) and the second component (such as the SmartNIC network card component) is realized, so that the DPU intelligent network card can flexibly switch between the first component (such as the DPU network card component) and the second component (such as the SmartNIC network card component), improving the overall energy efficiency ratio. Compared with the traditional technology, by flexibly controlling the switching, the overall operation efficiency and resource utilization rate of the data center are significantly improved, the allocation of network and computing resources is optimized, and the performance and energy efficiency of the data center are improved.
[0042] According to some embodiments, the DPU intelligent network card adopts a firmware compatibility strategy for the first component (such as the DPU network card component) and the second component (such as the SmartNIC network card component), and the firmware versions of the first component and the second component are made compatible at the design stage. Users can directly implement the network card hardware version switching through the upper-layer application software, which is simple and efficient while improving the switching efficiency.
[0043] It should be understood that the above general description and the following detailed description are only exemplary and do not limit the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following will briefly introduce the drawings required for the description of the embodiments.
[0045] Figure 1 Shows a schematic diagram of the DPU component.
[0046] Figure 2 Shows a schematic diagram of the SmartNIC component.
[0047] Figure 3 Shows a schematic diagram of the SmartNIC component firmware update process in the prior art.
[0048] Figure 4 Shows a schematic diagram of the DPU component firmware update process in the prior art.
[0049] Figure 5 Shows a system block diagram of a DPU intelligent network card with switchable working components according to an example embodiment.
[0050] Figure 6 A schematic diagram showing a method for switching working components of a DPU smart network card according to an exemplary embodiment.
[0051] Figure 7 A schematic diagram showing the switching of a DPU component to a SmartNIC component according to another exemplary embodiment.
[0052] Figure 8 A schematic diagram showing the switching of a DPU component to a SmartNIC component according to another exemplary embodiment.
[0053] Figure 9 A schematic diagram showing the switching of a DPU component to a SmartNIC component according to another exemplary embodiment.
[0054] Figure 10 A schematic diagram showing the switching of a SmartNIC component to a DPU component according to another exemplary embodiment.
[0055] Figure 11 A schematic diagram showing the startup of a DPU smart network card according to another exemplary embodiment. Detailed implementation manners
[0056] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, the exemplary embodiments can be implemented in various forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the exemplary embodiments to those skilled in the art. Like reference numerals in the figures denote like or similar parts, and thus their repetitive description will be omitted.
[0057] In addition, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of the embodiments of the present invention. However, those skilled in the art will realize that the technical solutions of the present invention can be practiced without one or more of the specific details, or other methods, components, devices, steps, etc. may be adopted. In other cases, well-known methods, devices, implementations, or operations are not shown or described in detail to avoid obscuring aspects of the present invention.
[0058] The block diagrams shown in the drawings are only functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software form, or in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.
[0059] The flowcharts shown in the accompanying drawings are merely illustrative and not necessarily inclusive of all content and operations / steps, nor are they necessarily to be executed in the order described. For example, some operations / steps can be decomposed, while some operations / steps can be combined or partially combined. Therefore, the actual execution order may change according to the actual situation.
[0060] It should be understood that although terms such as first, second, third, etc. may be used herein to describe various components, these components should not be limited by these terms. These terms are used to distinguish one component from another. Thus, the first component discussed below can be referred to as the second component without departing from the teachings of the inventive concept. As used herein, the term "and / or" includes any one and all combinations of one or more of the associated listed items.
[0061] Those skilled in the art can understand that the drawings are only schematic diagrams of exemplary embodiments, and the modules or processes in the drawings are not necessarily essential for implementing the present invention. Therefore, they cannot be used to limit the protection scope of the present invention.
[0062] Figure 1 Shows a schematic diagram of the DPU component.
[0063] See Figure 1 , the DPU component of the smart network card supports a board-level BMC (Baseboard Management Controller) dedicated chip, supports board-level DDR (Double Data Rate Dynamic Random Access Memory), and uses the entire N2 Core (i.e., the embedded CPU core) cluster. Among them, the small core Core takes SCP / IMU (Integrated Management Unit) / MCP as an example, and the large core takes ARMN2 as an example, including but not limited to other types of CPU types, such as RISC-V (Reduced Instruction Set Computer Fifth), etc., and DDR takes DDR5 as an example.
[0064] Figure 2 Shows a schematic diagram of the SmartNIC component.
[0065] See Figure 2 , the SmartNIC component of the smart network card generally does not enable the BMC dedicated chip and does not enable DDR. Depending on the configuration, it may retain some of the CPU large cores for use as a CPU subsystem, may retain some of the CPU small cores for use as a CPU subsystem, and enables all or part of the IO (Input-output) capabilities.
[0066] From Figure 1 and Figure 2 It can be seen that the DPU component and the SmartNIC component can share most of the constituent units, and in the actual application scenarios of the prior art, they are switched by updating the firmware, so as to work in the DPU component mode or the SmartNIC component mode.
[0067] Figure 3 The schematic diagram of the SmartNIC component firmware update process in the prior art is shown.
[0068] Figure 4 The schematic diagram of the DPU component firmware update process in the prior art is shown.
[0069] See Figure 3 For the SmartNIC firmware upgrade method shown in, when the network card works in the SmartNIC component mode, if it needs to be switched to the DPU network card mode, the firmware of each component needs to be updated to the corresponding DPU version.
[0070] See Figure 4 For the DPU firmware upgrade method shown in, when the network card is in the DPU component mode, if it needs to be switched to the SmartNIC component mode, the firmware of each component needs to be updated to the corresponding SmartNIC version.
[0071] Specifically, taking the firmware upgrade process of the SmartNIC network card as an example: First, in the preparation stage, determine the firmware version to be upgraded and obtain the firmware image file. Before the upgrade, it may be necessary to back up the existing firmware in case of recovery in case of upgrade failure. After that, upload the firmware. Upload through the host: The host uploads the firmware image to the required SmartNIC through the PCIe or CXL interface, and writes the firmware packages corresponding to each subunit (IMU0 / IMU1 / SCP, etc.) to the specified location on the FLASH through inter-core communication and the SPI / QSPI (QSPI) interface. The SCP controls the firmware upgrade process and is responsible for writing the received firmware image to the flash memory (FLASH). Communicate with the flash memory using the SPI or QSPI interface. Firmware verification. After writing the firmware, the SCP will verify the integrity of the firmware (such as through mechanisms such as CRC check) to ensure that there is no damage. Finally, perform restart and activation. After restarting, the new firmware can be loaded and run.
[0072] Figure 3 and Figure 4The processes of SmartNIC and DPU firmware updates are respectively shown. It can be seen that there are differences in the SmartNIC and DPU firmware update methods. If the firmware update method is used to achieve the conversion between the two states, the user must first obtain the corresponding firmware, and then update the corresponding firmware through the above two methods. Obviously, this is very unfriendly to users. Users should not need to perceive the existence of the firmware, and randomly changing the firmware also poses a certain threat to system security.
[0073] Existing DPU / SmartNIC switching methods require updating the corresponding firmware of SmartNIC / DPU. Such a method results in too long switching time and low switching efficiency. Moreover, changing the firmware is a quite dangerous and complex operation for users, which is likely to cause the device to become "bricked".
[0074] Therefore, the present invention proposes a method for switching the working components of a DPU smart network card, which can quickly switch between the DPU network card mode and the SmartNIC network card mode without replacing the firmware during the switching.
[0075] The inventors found that from the perspectives of hardware design and software design, since there is a large degree of overlap between the DPU and SmartNIC components, therefore, by considering simple software and hardware adaptation, it can work as a DPU or SmartNIC component to improve the overall energy efficiency ratio.
[0076] According to some embodiments, the DPU smart network card adopts a compatibility strategy for DPU and SmartNIC. The firmware versions of each component of DPU and SmartNIC are made compatible with the two firmware versions at the design stage. The user directly realizes the switching of the network card hardware version through the upper-layer application software, which is simple and efficient while improving the switching efficiency.
[0077] The exemplary embodiments of the present invention will be described below with reference to the accompanying drawings.
[0078] Figure 5 A system block diagram of a DPU smart network card with switchable working components according to an exemplary embodiment is shown.
[0079] See Figure 5 , a system block diagram of a DPU smart network card with switchable working components according to an exemplary embodiment is shown in the figure. The first component includes an integrated control unit (IMU), a system control unit (SCP), a management control unit (MCP), and a multi-core data processing unit (N2). The first component enables the board-level DDR memory and the board-level management controller (BMC). The second component includes a partial subset of the integrated control unit, the system control unit, the management control unit, and the multi-core data processing unit but does not enable the board-level DDR memory and the board-level management controller.
[0080] According to the parsed configuration information, the startup process of the first component or the second component is correspondingly completed, so that the DPU smart network card realizes the switching of working components. Specifically, after power-on, the first-stage bootloader is executed to start the system control unit, and the second-stage bootloader of the corresponding firmware starts to be executed; if the parsed configuration information is the configuration information of the first component or the second component, that is, the configuration information of the DPU or SmartNIC, the system control unit correspondingly completes the device initialization of the first component or the second component, and wakes up the integrated control unit and the management control unit. If the configuration information is the configuration information of the first component, that is, the configuration information of the DPU component, the initialization of the DDR on the DPU smart network card also needs to be completed, and the main core of the DPU smart network card firmware is woken up. Specifically, a conditional function can be added in the code to achieve this.
[0081] According to some embodiments, for firmware update / upgrade, the chip design manufacturer needs to provide a corresponding firmware upgrade package. The DPU / SmartNIC is composed of many subunits (as mentioned above, including: double data rate dynamic random access memory, N2 Core cluster, etc.). Different subunits need to update the corresponding firmware, and the firmware upgrade tool / upgrade method provided by the chip design manufacturer needs to be used to complete the upgrade. The firmware software packages corresponding to each subunit need to be written to the specified location in the flash memory (Flash). That is to say, the two components share one Flash, which is distributed in different positions. When the chip is powered on and starts to work, different subunits will load the corresponding firmware software packages to complete the component upgrade and work normally.
[0082] Since there are differences in the firmware update methods of the SmartNIC component and the DPU component, when the traditional technology uses the method of updating the firmware to implement the conversion between the two components, the user first needs to obtain the corresponding firmware, and then needs to update the corresponding firmware through the two methods shown above Figure 3 and Figure 4 As shown. Obviously, this is very unfriendly to users. In the design scheme of the present invention, the user does not need to perceive the firmware. The firmware versions of each component of the DPU and SmartNIC are compatible with the two firmware versions at the design stage. For the user, directly applying the upper-layer software can realize the switching of the network card hardware version. When switching, there is no need to replace the firmware, which is simple and efficient while improving the switching efficiency.
[0083] Figure 6 A schematic diagram of a method for switching working components of a DPU smart network card according to an exemplary embodiment is shown.
[0084] See Figure 6, The figure shows a method for switching working components of a DPU smart network card according to an exemplary embodiment. The DPU smart network card includes a first component and a second component that are switchable with each other. The first component and the second component are firmware-compatible, that is, according to some embodiments, there is only the same firmware version on the first component and the second component, so that the DPU smart network card can switch between the first component and the second component. The specific steps are as follows:
[0085] In S601, set the value of the form control register on the DPU smart network card.
[0086] According to some embodiments, first, set the form control register located on the DPU smart network card. Determine whether the switching target set by the user or administrator is the first component (DPU component) or the second component (intelligent network interface card component).
[0087] In S603, according to the value of the form control register, write the corresponding configuration information into the startup configuration register on the DPU smart network card.
[0088] According to some embodiments, according to the value of the form control register, write the corresponding configuration information into the startup configuration register on the DPU smart network card to start the corresponding first component or second component.
[0089] According to some embodiments, the CPLD (Complex Programmable Logic Device) detects in real time whether the value of the form control register changes. The form control register is a CPLD register; if the value of the form control register changes, update the startup configuration register according to the value of the form control register. Such a design enables the DPU smart network card to dynamically adjust its components or configurations during its operation without relying on external software for complex reconfiguration processes, which can simplify management and maintenance, and at the same time improve the flexibility and response speed of the system.
[0090] In S605, during the restart phase of the DPU smart network card, the boot read-only memory parses the configuration information in the startup configuration register.
[0091] According to some embodiments, when the DPU enters the restart phase, the boot read-only memory (Boot ROM) parses the configuration information stored in the startup configuration register. The parsing process determines which specific drivers and services need to be loaded during the subsequent startup process to adapt to the selected working component.
[0092] In S607, according to the parsed configuration information, complete the startup process of the first component or the second component accordingly, so that the DPU smart network card realizes the switching of working components.
[0093] According to some embodiments, based on the parsed configuration information, the startup process of the corresponding first component or second component, i.e., the DPU or the intelligent network interface card component, is completed, so that the DPU intelligent network card realizes the switching between the first component and the second component, and completes the switching from one network card mode to another network card mode. Specifically, the configuration information stored in the startup configuration register is read, and the internal DPU or SmartNIC firmware part is started according to the configuration information, realizing the switching between the DPU component and the SmartNIC component.
[0094] According to some embodiments, during the operation of the first component, the DPU intelligent network card transmits the switching command to the system control unit through the inter-core communication method by adopting three configuration channels of DPUN2 / DPU BMC / Host.
[0095] Figure 7 Shows a schematic diagram of the DPU component being switched to the SmartNIC component according to another exemplary embodiment.
[0096] See Figure 7 , the figure shows a method for switching the working components of the DPU intelligent network card according to another exemplary embodiment, and the DPU component is switched to the SmartNIC component through the DPU N2 configuration channel.
[0097] Specifically, see Figure 7 , in S701, a switching command (switching from DPU to SmartNIC) is issued by DPU N2, and the command is transmitted to the SCP through the IMU by means of inter-core communication.
[0098] According to some embodiments, during the operation of the first component, the CPU core of the DPU intelligent network card transmits the switching command to the system control unit through the integrated control unit (IMU) by means of inter-core communication, where the first component is the DPU component.
[0099] In S703, the SCP reads and writes the CPLD form control register through the SPI method, and writes the configuration information into the strap register.
[0100] According to some embodiments, the system control unit sets the form control register on the DPU smart network card through a first interface, that is, the DPU component is switched to a SmartNIC component through the DPU N2 configuration channel. Among them, the first interface is an SPI (Serial Peripheral Interface), I2C (Integrated Circuit Bus), UART (Universal Asynchronous Receiver / Transmitter), or JTAG interface (Joint Test Action Group).
[0101] In S705, through the Host, the DPU power supply is restarted, and the DPU will restart.
[0102] In S707, after the DPU restarts, the strap register will be read during the startup phase, and the configuration information will be parsed as the configuration information of the SmartNIC component.
[0103] In S709, finally, according to the configuration information, the components necessary for the SmartNIC are pulled up to complete the startup process.
[0104] Figure 8 The figure shows a schematic diagram of the DPU component switching to a SmartNIC component according to another exemplary embodiment.
[0105] See Figure 8 , the figure shows a method for switching the working components of the DPU smart network card according to another exemplary embodiment, and the DPU component is switched to a SmartNIC component through the DPU BMC configuration channel.
[0106] Specifically, see Figure 8 , in S801, the DPU BMC issues a switching command (switch from DPU to SmartNIC).
[0107] According to some embodiments, during the operation of the first component, a switching command is issued through the board-level management controller (DPU BMC) on the DPU smart network card, and the first component is a DPU component.
[0108] In S803, the BMC writes the configuration information into the strap register by reading and writing the CPLD form control register.
[0109] According to some embodiments, the board-level management controller (DPU BMC) sets the form control register on the DPU smart network card through a first interface.
[0110] In S805, after that, through the Host, the DPU power supply is restarted, and the DPU will restart.
[0111] At S807, after restart, during the startup phase, the strap register is read and the configuration information is parsed into the configuration information for the SmartNIC component.
[0112] At S809, according to the configuration information, the components necessary for the SmartNIC are launched to complete the startup process.
[0113] Figure 9 Shows a schematic diagram of a DPU component being switched to a SmartNIC component according to another exemplary embodiment.
[0114] See Figure 9 , which shows a method for switching the working components of a DPU smart network card according to another exemplary embodiment. The DPU component is switched to a SmartNIC component through the Host configuration channel.
[0115] Specifically, see Figure 9 , at S901, on the Host side, a switching command (from DPU to SmartNIC) is issued through the PCIe / CXL PF device presented by the DPU, reaches the IMU through the PCIe / CXL link, and finally the command is passed to the SCP through inter-core communication.
[0116] According to some embodiments, during the operation of the first component, on the host side, after the switching command issued through the PCIe / CXL physical function device (PF) presented by the DPU smart network card reaches the integrated control unit (IMU) through the PCIe / CXL link, the integrated control unit passes the command to the system control unit through inter-core communication. The first component is a DPU component.
[0117] At S903, the SCP reads and writes the CPLD form control register through the SPI method and writes the configuration information into the strap register.
[0118] According to some embodiments, the system control unit sets the form control register on the DPU smart network card through a first interface. Wherein, the first interface is an SPI, I2C, UART or JTAG interface.
[0119] At S905, then, through the Host, the DPU power supply is restarted and the DPU will restart.
[0120] At S907, after restart, during the startup phase, the strap register is read and the configuration information is parsed into the configuration information for the SmartNIC component.
[0121] At S909, according to the configuration information, the components necessary for the SmartNIC are launched to complete the startup process.
[0122] Figure 10 Schematic diagram showing the switching of the SmartNIC component to the DPU component according to another exemplary embodiment.
[0123] See Figure 10 , which shows a method for the working switch of the DPU smart network card according to another exemplary embodiment. The SmartNIC component is switched to the DPU component through the DPU N2 configuration channel.
[0124] Specifically, see Figure 10 , in S1001, a switching command (switching from SmartNIC to DPU) is sent from the Host side through the SmartNIC front-end driver. The channel reaches the IMU through the PCIe / CXL link, and finally the command is passed to the SCP through inter-core communication.
[0125] According to some embodiments, during the operation of the second component, after the switching command sent from the Host side through the front-end driver of the second component of the DPU smart network card reaches the integrated control unit through the PCIe / CXL link, the integrated control unit passes the command to the system control unit through inter-core communication. The second component is the SmartNIC component.
[0126] In S1003, the SCP reads and writes the CPLD form control register through the SPI method, and writes the configuration information into the strap register.
[0127] According to some embodiments, the system control unit sets the form control register on the DPU smart network card through the first interface. Wherein, the first interface is an SPI, I2C, UART or JTAG interface.
[0128] In S1005, then, through the Host, the DPU power supply is restarted, and the DPU will restart.
[0129] In S1007, after restarting, the strap register will be read during the startup phase, and the configuration information will be parsed into the configuration information of the DPU component.
[0130] In S1009, according to the configuration information, the components necessary for starting the DPU are pulled up to complete the startup process.
[0131] The conversion of the DPU and SmartNIC working components can be completed through the four configuration channels described above. All four channels described above directly operate on the Host or DPU / SmartNIC. Users can choose the switching method according to actual application requirements. For example, directly operating on the host is more suitable for ordinary users, while the method through the DPU BMC / DPU N2 configuration channel is more suitable for developers and debuggers. In the actual data network center environment, based on these four configuration channels, technologies such as network cloud platform management and control can be utilized to remotely issue conversion instructions through the cloud platform network, realizing the remote switching of DPU and SmartNIC working components.
[0132] According to some embodiments, by establishing a unified cloud service platform, an administrator can monitor the status of all DPU and SmartNICs connected to the network in real time anywhere and automatically issue corresponding instructions according to business logic. For example, when it is detected that the load of a certain machine is too high, the SmartNIC on it can be immediately adjusted to enter a more efficient working component, and vice versa. Using the task scheduler built into the cloud platform, custom scripts are written to respond to actions triggered by preset conditions. For example, set a scheduled task to regularly check the health status of each node, and once an anomaly is found, immediately take measures to restore normal operation. Such a design enables the network card switching system to easily handle various challenges even in the face of a data center with a large-scale complex architecture, ensuring the stable and reliable operation of the entire system.
[0133] According to some embodiments, the design of the present invention can flexibly switch the device working components according to the real-time load situation, ensuring the best performance in different scenarios, improving the data processing speed and efficiency. By dynamically adjusting the working components, unnecessary energy consumption is reduced, achieving a better energy efficiency ratio, and helping the data center reduce operating costs. Such a flexible switching method improves the adaptability of the data center to different load scenarios, enabling it to quickly respond when the load fluctuates and maintain stable operation. Moreover, the entire switching process does not require the user to re-burn the version, ensuring the safe operation of the DPU system and the host, and reducing potential operation risks and system failures.
[0134] According to some embodiments, through the above flexible control and switching method, the design of the present invention significantly improves the overall operation efficiency and resource utilization rate of the data center, optimizes the allocation of network and computing resources, not only improves the performance and energy efficiency of the data center, but also enhances the security and adaptability of the system, providing a more reliable and efficient solution for future data processing architectures.
[0135] Figure 11 Shows a startup schematic diagram for a DPU intelligent network card according to another exemplary embodiment.
[0136] See Figure 11, the figure shows the method timing for the working switch of the DPU smart network card according to another exemplary embodiment.
[0137] At S1101, the system powers on and starts initialization. During the BootROM startup process, the strap is parsed, the startup configuration register is read and judged. For example, if the value of the form control register is 1, it represents SmartNIC, and if it is 0, it represents DPU, so as to distinguish the SmartNIC component and the DPU component.
[0138] At S1103, pull up the SCP, and complete the basic device initialization according to the form control register, such as PLL (Phase-Locked Loop), CMN initialization. The SCP loads the IMU0 / MCP version and wakes up for startup. After the IMU-0Loader is loaded, the IMU-0Version is immediately loaded according to the form control register.
[0139] According to some embodiments, afterwards, the SCP continues the remaining initialization according to the form control register. Specifically, other device initializations are performed, such as Thermal, GPIO, etc. When the form control register is 0, the DDR5 initialization is completed, the IMU-1 version is loaded, the IMU-1 startup is woken up, the AP (Application Processor, startup bootloader) version is loaded, and the N2 main core startup is woken up.
[0140] At S1105, select the corresponding component to start according to the value of the form controller.
[0141] According to some embodiments, when the form control register is 0, after the ATF (Arm Trusted Firmware) starts the BL2 (Second Stage Bootloader) and BL31 (Third Stage First Level Bootloader), according to the CPU Mask of N2 Run Linux and RTOS (Real-Time Operating System) passed by the SCP, select the corresponding startup method.
[0142] During the entire SmartNIC / DPU startup process, by reading and parsing the strap, obtaining and judging the form control register, a value of 1 represents SmartNIC, and a value of 0 represents DPU, completing the startup of different components and the corresponding initialization, realizing the startup of different components, ensuring that the SmartNIC and DPU systems can correctly initialize and start each component according to the value of the different form control registers (as above, SmartNIC is represented by 1 or DPU is represented by 0), enabling the system to efficiently complete the process from power-on to full startup, and ensuring stable operation under different components.
[0143] According to an embodiment, the firmware version of the DPU smart network card adopts a firmware compatibility strategy for the DPU component and the SmartNIC component. By reading the configuration information of the startup configuration register and parsing the configuration information during startup, the switching between the DPU and SmartNIC components is achieved, enabling the DPU smart network card to flexibly switch between the two working modes of DPU and SmartNIC, improving the overall energy efficiency ratio. Through such flexible switching control, the overall operation efficiency and resource utilization rate of the data center are significantly improved, the allocation of network and computing resources is optimized, and the performance and energy efficiency of the data center are enhanced.
[0144] According to some embodiments, the design solution of the present invention can also be applied to the design of a DPU chip, including a processor and a memory. When the processor runs the computer program stored on the memory, the method described in any of the above embodiments is implemented. The design solution of the present invention can also be applied to the design of a DPU smart network card. The DPU smart network card includes: the DPU chip and multiple interfaces as described above. Among them, the interfaces can include communication interfaces such as PCI / PCIE interfaces, UART interfaces, SPI interfaces, USB interfaces, and network interfaces. The DPU chip communicates externally through the interfaces, enabling the network card device to achieve the switching between the DPU component and the SmartNIC component.
[0145] According to some embodiments, the design solution of the present invention can also be applied to the design of an electronic device. The electronic device includes: the DPU smart network card as described above and a central processing unit. The DPU smart network card is used to process data or communicate externally, and the central processing unit is used to process the data scheduled by the DPU smart network card.
[0146] According to some embodiments, the design solution of the present invention can also be applied to a network card component switching system for cloud platform-based cloud control. The network card component switching system includes: a cloud control platform; and the DPU smart network card as described above. The cloud control platform sends a work switching command to the DPU smart network card, thereby achieving the switching of the cloud-controlled network card.
[0147] According to some embodiments, through the flexible application of control commands, the design solution of the present invention significantly improves the overall operation efficiency and resource utilization rate of the data center, optimizes the allocation of network and computing resources, improves the performance and energy efficiency of the data center, and also enhances the security and adaptability of the system, providing a more reliable and efficient solution for future data processing architectures.
[0148] According to some embodiments, the design solution of the present invention provides a network card switching method and system for seamless, efficient, and secure switching between a DPU and a SmartNIC, so as to provide the best performance and power consumption balance in high-load and low-load scenarios. Through control commands on the host side and the network side, the working components of the device can be flexibly switched in different scenarios, thereby significantly improving the operation efficiency and adaptability of the data center. At the same time, the switching process does not require the user to re-burn the version, ensuring the safe operation of the entire DPU system and the Host host.
[0149] According to some embodiments, the design solution of the present invention reads the configuration information of the startup configuration register and parses the configuration information during the startup process. With such a flexible control method, the switching between the DPU and the SmartNIC network card is realized, significantly improving the overall operation efficiency and resource utilization rate of the data center, optimizing the allocation of network and computing resources, and improving the performance and energy efficiency of the data center.
[0150] According to some embodiments, in the design solution of the present invention, the DPU intelligent network card adopts a compatible strategy for the DPU and the SmartNIC. The firmware versions of the DPU and the SmartNIC are made compatible with each other during the design stage. The user can directly implement the switching of the network card hardware version through the upper-layer application software. When switching, there is no need to replace the firmware, which is simple and efficient while improving the switching efficiency.
[0151] It should be noted that those skilled in the art can understand that the above devices may also only include the components necessary to implement the solutions of the embodiments of this specification, and do not necessarily include all the components shown in the figures.
[0152] The present invention also provides a computer-readable storage medium, on which a computer program is stored. When the program is executed by a processor, the steps of the above method are implemented. The computer-readable storage medium may include, but is not limited to, any type of disk, including floppy disks, optical disks, DVDs, CD-ROMs, microdrives, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, DRAMs, VRAMs, flash memory devices, magnetic cards or optical cards, nano-systems (including molecular memory ICs), network storage devices, cloud storage devices, or any type of medium or device suitable for storing instructions and / or data.
[0153] The embodiments of the present invention also provide a computer program product, which includes a non-transitory computer-readable storage medium storing a computer program. The computer program is operable to cause a computer to execute some or all of the steps of any one of the methods described in the above method embodiments.
[0154] Those skilled in the art can clearly understand that the technical solution of the present invention can be implemented by means of software and / or hardware. The "units" and "modules" in this specification refer to software and / or hardware that can complete specific functions independently or in cooperation with other components, where the hardware can be, for example, a field programmable gate array, an integrated circuit, etc.
[0155] It should be noted that for the foregoing method embodiments, for the sake of simple description, they are all expressed as a series of action combinations. However, those skilled in the art should know that the present invention is not limited by the described action sequence, because according to the present invention, certain steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to the present invention.
[0156] In the above embodiments, the descriptions of each embodiment have their own emphases. For the parts not detailed in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0157] In several embodiments provided by the present invention, it should be understood that the disclosed device can be implemented in other ways. For example, the device embodiments described above are only illustrative. For example, the division of units is only a logical function division. In actual implementation, there can be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed coupling or direct coupling or communication connection to each other can be through some service interfaces. The indirect coupling or communication connection of the device or unit can be in an electrical or other form.
[0158] The units described as separate components may or may not be physically separated. The components shown as units may or may not be physical units, that is, they can be located in one place, or they can be distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0159] In addition, the functional units in each embodiment of the present invention can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above integrated units can be implemented in the form of hardware or in the form of software functional units.
[0160] When the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable memory. Based on such understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a memory and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods of the various embodiments of the present invention.
[0161] In the above embodiments, the descriptions of the various embodiments have their own emphases. For the parts not detailed in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0162] The exemplary embodiments of the present invention have been specifically shown and described above. It should be understood that the present invention is not limited to the detailed structures, setting manners, or implementation methods described herein; on the contrary, the present invention is intended to cover various modifications and equivalent settings included within the spirit and scope of the appended claims.
Claims
1. A method for switching working components of a DPU smart network card, characterized in that: The DPU smart network card includes a first component and a second component that are switchable with each other, and the method includes: Set the value of the morphology control register on the DPU smart network card; According to the value of the morphology control register, write the corresponding configuration information into the startup configuration register on the DPU smart network card; During the DPU smart network card restart phase, the read-only memory is guided to parse the configuration information in the startup configuration register; According to the parsed configuration information, the startup process of the first component or the second component is completed accordingly, so that the DPU smart network card realizes the switching of the working components.
2. The method according to claim 1, characterized in that The first component includes an integrated control unit, a system control unit, a management control unit, and a multi-core data processing unit. The first component enables a board-level DDR memory and a board-level management controller. The second component includes the integrated control unit, the system control unit, the management control unit, and a partial subset of the multi-core data processing unit but does not enable the board-level DDR memory and the board-level management controller.
3. The method according to claim 2, characterized in that Setting the value of the morphology control register on the DPU smart network card includes: During the operation of the first component, the CPU core of the DPU smart network card transmits the switching command to the system control unit through the integrated control unit by means of inter-core communication; The system control unit sets the morphology control register on the DPU smart network card through the first interface.
4. The method according to claim 2, characterized in that: Setting the value of the morphology control register on the DPU smart network card includes: During the operation of the first component, a switching command is issued through the board-level management controller on the DPU smart network card, and the board-level management controller sets the morphology control register on the DPU smart network card through the first interface.
5. The method according to claim 2, characterized in that: Setting the value of the morphology control register on the DPU smart network card includes: During the operation of the first component, after the switching command issued by the PCIe / CXL physical function device presented by the DPU smart network card on the host side reaches the integrated control unit through the PCIe / CXL link, the integrated control unit transmits the command to the system control unit through inter-core communication; The system control unit sets the morphology control register on the DPU smart network card through the first interface.
6. The method according to claim 2, characterized in that Setting the value of the morphology control register on the DPU smart network card includes: During the operation of the second component, after the switching command sent by the DPU smart network card front-end driver on the host side reaches the integrated control unit through the PCIe / CXL link, the integrated control unit transmits the command to the system control unit through inter-core communication; The system control unit sets the morphology control register on the DPU smart network card through the first interface.
7. The method according to claim 1, characterized in that According to the value of the form control register, writing corresponding configuration information into the startup configuration register on the DPU smart network card includes: The CPLD detects in real time whether the value of the morphology control register changes, and the morphology control register is a CPLD register; If the value of the form control register changes, the startup configuration register is updated according to the value of the form control register.
8. The method according to claim 2, characterized in that: According to the parsed configuration information, the startup process of the first component or the second component is completed accordingly, so that the DPU smart network card realizes the switching of the working components, including: After power-on, the first-stage boot loader is executed to start the system control unit, and the second-stage boot loader of the corresponding firmware is started; If the parsed configuration information is configuration information of the first component or the second component, the system control unit correspondingly completes device initialization of the first component or the second component, and wakes up the integrated control unit and the management control unit.
9. The method according to claim 1, characterized in that: The first component and the second component are compatible in firmware.
10. A DPU chip, comprising a processor and a memory, characterized in that: A computer program is stored in the memory, and when the processor runs the computer program stored in the memory, the method according to any one of claims 1 to 9 is implemented.
11. A DPU smart network card, characterized in that: The DPU smart network card comprises: the DPU chip according to claim 10 and a plurality of interfaces, and the DPU chip communicates externally through the interfaces.
12. An electronic device, characterized in that: include: The DPU smart network card and the central processor as described in claim 11, wherein the DPU smart network card is used to process data or communicate externally, and the central processor is used to process data dispatched by the DPU smart network card.
Citation Information
Cited By
Network card information management method and electronic equipment
CN120909677A
Method for managing network card information and electronic device
CN120909677B