A hardware and software cooperative message processing method and related device

CN119030869BActive Publication Date: 2026-10-30TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310611906.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-26
Publication Date
2026-10-30
Estimated Expiration
2043-05-26

AI Technical Summary

Technical Problem

然而,随着设备部署密度地不断提高,当前通过硬件处理层提前固化设备的拓扑网络和设备能力,会消耗较大的硬件资源,而且也无法满足不同场景下的传输需求以及后期的设备维护

Benefits of technology

[0021]本申请实施例中,配置信息包括拓扑网络和能力信息,而且配置空间读写请求携带传输报文。此外,在所提及的传输报文中,包括指示传输报文需要到达的目标设备地址的字段信息。所提及的拓扑网络能够指示至少两个传输设备之间的拓扑关系,能力信息能够指示至少两个传输设备中每个传输设备的设备能力情况。那么,在软硬件协同设备中,通过软件处理层获取配置信息以及主机侧设备发送的配置空间读写请求。随后由软件处理层基于配置信息和字段信息,查找目标设备地址对应的目标设备的配置空间。所描述的目标设备为至少两个传输设备中的任意设备。在软件处理层查找到目标设备的配置空间后,能够在目标设备的配置空间中,通过软件处理层对传输报文执行读写操作。这样,在软件处理层对传输报文执行读写操作完成后,经由硬件处理层将配置空间读写请求对应的读写应答消息转发至主机侧设备,进而由主机侧设备展示拓扑网络和能力信息。通过上述方式,无需通过硬件处理层提前固化设备的拓扑网络和设备能力,而是通过软件处理层灵活地获取包括拓扑网络和能力信息在内的配置信息,便于从软件处理的角度来灵活地变更拓扑网络和设备能力,极大地节省硬件资源开销。此外,由软件处理层来响应对传输报文的读写操作,灵活地向主机侧设备呈现拓扑网络等,能够满足不同场景下的传输需求以及后期的设备维护。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119030869B_ABST
    Figure CN119030869B_ABST
Patent Text Reader

Abstract

Embodiments of the present application disclose a kind of software and hardware cooperative message processing method and related device, at least involve cloud technology etc., flexibly change topological network and equipment capacity, reduce hardware resource overhead, provide more abundant operation and maintenance capability.In the method, configuration information and host side device sent configuration space read-write request are acquired by software processing layer, configuration information includes topological network and capacity information, configuration space read-write request carries transmission message, and transmission message includes the field information indicating the target device address that transmission message needs to reach;Configuration space of target device corresponding to target device address is found by software processing layer based on configuration information and field information;In the configuration space of target device, read-write operation is executed on transmission message by software processing layer;After completing the read-write operation on transmission message by software processing layer, the read-write response message corresponding to configuration space read-write request is forwarded to host side device via hardware processing layer.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of cloud technology, specifically to a hardware and software collaborative message processing method and related apparatus. Background Technology

[0002] With the rapid development of cloud computing, major cloud vendors are now generally using data processing units (DPUs) to meet users' growing network and storage needs.

[0003] Currently, the market primarily relies on pre-determining the device's topology and capabilities at the hardware processing layer to facilitate configuration planning. After configuration planning, the hardware processing layer continues to respond to transaction layer packet (TLP) messages to perform read / write operations on TLP messages and present the device's topology to the host device. However, with the increasing density of device deployments, pre-determining the device's topology and capabilities at the hardware processing layer consumes significant hardware resources and cannot meet the transmission requirements of different scenarios or facilitate subsequent device maintenance. Summary of the Invention

[0004] This application provides a hardware and software collaborative message processing method and related apparatus, which can flexibly change the topology network and device capabilities, greatly reduce hardware resource consumption, provide richer maintenance capabilities, and meet the transmission needs of different scenarios.

[0005] Firstly, embodiments of this application provide a message processing method for software and hardware collaboration. This message processing method is applied to a software and hardware collaborative device. The software and hardware collaborative device includes a software processing layer and a hardware processing layer. In this method, the software processing layer obtains configuration information and a configuration space read / write request sent by the host device. The configuration information includes topology network and capability information. The topology network indicates the topological relationship between at least two transmission devices, and the capability information indicates the device capability status of each of the at least two transmission devices. The configuration space read / write request carries a transmission message, which includes field information indicating the address of the target device to which the transmission message needs to reach. Based on the configuration information and field information, the software processing layer searches for the configuration space of the target device corresponding to the target device address. The target device can be any device among the at least two transmission devices. In the configuration space of the target device, the software processing layer performs read / write operations on the transmission message. After the software processing layer completes the read / write operations on the transmission message, the hardware processing layer forwards the read / write response message corresponding to the configuration space read / write request to the host device. The read / write response message includes the topology network and capability information.

[0006] Secondly, embodiments of this application provide a message processing method for hardware and software collaboration. This message processing method is applied to a host-side device. In this method, a configuration space read / write request is sent to the hardware and software collaborative device. The configuration space read / write request carries a transmission message, which includes field information indicating the target device address to which the transmission message needs to be delivered. This field information is used by the hardware and software collaborative device to locate the configuration space of the target device corresponding to the target device address. A read / write response message corresponding to the configuration space read / write request is received from the hardware and software collaborative device. The read / write response message is sent after the hardware and software collaborative device completes the read / write operation on the transmission message in the configuration space of the target device, displaying the topology network and capability information. The read / write response message includes topology network and capability information. The topology network is used to indicate the topological relationship between at least two transmission devices, and the capability information is used to indicate the device capability status of each of the at least two transmission devices. The target device can be any device among the at least two transmission devices.

[0007] Thirdly, embodiments of this application provide a hardware-software collaborative device. This hardware-software collaborative device includes an acquisition unit, a processing unit, and a sending unit. The acquisition unit is used to acquire configuration information and a configuration space read / write request sent by a host device through a software processing layer in the hardware-software collaborative device. The configuration information includes topology network and capability information. The topology network indicates the topological relationship between at least two transmission devices, and the capability information indicates the device capability status of each of the at least two transmission devices. The configuration space read / write request carries a transmission message, which includes a field indicating the address of the target device to which the transmission message needs to reach. The processing unit is used to locate the configuration space of the target device corresponding to the target device address based on the configuration information and the field information through the software processing layer. The target device can be any device among the at least two transmission devices. The processing unit is used to perform read / write operations on the transmission message in the configuration space of the target device through the software processing layer. The sending unit is used to forward a read / write response message corresponding to the configuration space read / write request to the host device through a hardware processing layer after the read / write operation on the transmission message is completed at the software processing layer. The read / write response message includes topology network and capability information.

[0008] In some optional implementations, the acquisition unit is further configured to acquire topology network and capability information through the software processing layer before acquiring configuration information and configuration space read / write requests sent by the host-side device. The processing unit is configured to allocate configuration space for each transmission device based on the topology network and capability information through the software processing layer.

[0009] In some alternative embodiments, the acquisition unit is further configured to acquire the queue depth after forwarding the read / write response message corresponding to the configuration space read / write request to the host-side device via the hardware processing layer. The queue depth is used to indicate the number of packets to be transmitted in the hardware processing layer. The processing unit is configured to send a first message to the host-side device via the hardware processing layer when the queue depth is greater than a preset overload threshold. The first message is used to instruct the host-side device to suspend sending configuration space read / write requests.

[0010] In some alternative implementations, the acquisition unit is used to acquire a read / write identifier, which indicates the execution status of the software processing layer when performing read / write operations on the transmitted message. The processing unit is used to determine that the software processing layer has completed the read / write operation on the transmitted message when the read / write identifier is a preset flag.

[0011] In some alternative implementations, the processing unit is further configured to: after performing read / write operations on the transmitted message in the configuration space of the target device through the software processing layer, perform message update processing on the transmitted message through the hardware processing layer to obtain an updated transmitted message, the updated transmitted message including an enqueue time, the enqueue time being the time when the transmitted message is written into the message queue of the hardware processing layer; the acquisition unit is further configured to acquire a feedback time, the feedback time being the time when the corresponding read / write response message is fed back to the hardware processing layer after the read / write operations on the updated transmitted message are completed in the configuration space of the target device through the software processing layer. The processing unit is configured to: perform latency calculation processing on the enqueue time and feedback time through the hardware processing layer to obtain a target timeout, the target timeout including the round-trip transmission latency of the transmitted message and the processing latency required for the software processing layer to read and write the updated transmitted message. The sending unit is configured to send a second message to the host device through the hardware processing layer when the target timeout exceeds a preset threshold, the second message being used to prompt the host device to perform abnormal read / write processing on the transmitted message.

[0012] In some alternative implementations, the acquisition unit is further configured to acquire the enqueue time before performing message update processing on the transmitted message through the hardware processing layer to obtain the updated transmitted message. The processing unit is configured to map the enqueue time into the transmitted message through the hardware processing layer to obtain the updated transmitted message.

[0013] In some alternative implementations, the processing unit is also used to record the target time and transmit messages through a software processing layer.

[0014] In some alternative embodiments, the acquisition unit is further configured to receive a third message before acquiring configuration information through the software processing layer and before receiving configuration space read / write requests sent by the host-side device. The third message indicates that a power-on operation should be performed on the hardware-software co-working device before a power-on operation is performed on the host-side device. The processing unit is configured to perform a power-on operation on the hardware-software co-working device based on the third message.

[0015] In some alternative implementations, the transmission message includes a Transaction Layer Packet (TLP) message.

[0016] Fourthly, embodiments of this application provide a host-side device. This host-side device includes a sending unit, a receiving unit, and a processing unit. The sending unit is used to send a configuration space read / write request to a hardware / software collaborative device. The configuration space read / write request carries a transmission message, which includes field information indicating the address of the target device to which the transmission message needs to reach. This field information is used by the hardware / software collaborative device to locate the configuration space of the target device corresponding to the target device address. The receiving unit is used to receive a read / write response message corresponding to the configuration space read / write request sent by the hardware / software collaborative device. The read / write response message is sent by the hardware / software collaborative device after completing the read / write operation on the transmission message in the configuration space of the target device. The read / write response message includes a topology network and capability information. The topology network indicates the topological relationship between at least two transmission devices, and the capability information indicates the device capability status of each of the at least two transmission devices. The target device can be any device among the at least two transmission devices. The processing unit is used to display the topology network and capability information.

[0017] A fifth aspect of this application provides a message processing device, including: a memory, an input / output (I / O) interface, and a processor. The memory is used to store program instructions. The processor is used to execute the program instructions in the memory to perform the hardware-software co-operated message processing method corresponding to the embodiments of the first aspect described above; or to perform the hardware-software co-operated message processing method corresponding to the embodiments of the second aspect described above.

[0018] A sixth aspect of this application provides a computer-readable storage medium storing instructions that, when executed on a computer, cause the computer to perform the method corresponding to the implementation of the first aspect described above; or, to perform the method corresponding to the implementation of the second aspect described above.

[0019] A seventh aspect of this application provides a computer program product containing instructions that, when run on a computer or processor, causes the computer or processor to execute the method corresponding to the implementation of the first aspect; or to execute the method corresponding to the implementation of the second aspect.

[0020] As can be seen from the above technical solutions, the embodiments of this application have the following advantages:

[0021] In this embodiment, the configuration information includes topology network and capability information, and the configuration space read / write request carries a transmission message. Furthermore, the transmission message includes a field indicating the address of the target device to which the transmission message needs to reach. The topology network indicates the topological relationship between at least two transmission devices, and the capability information indicates the device capabilities of each of the at least two transmission devices. In the hardware-software co-working device, the configuration information and the configuration space read / write request sent by the host device are obtained through the software processing layer. Then, based on the configuration information and field information, the software processing layer searches for the configuration space of the target device corresponding to the target device address. The target device can be any of the at least two transmission devices. After the software processing layer finds the configuration space of the target device, it can perform read / write operations on the transmission message within the target device's configuration space. After the software processing layer completes the read / write operations on the transmission message, the hardware processing layer forwards the read / write response message corresponding to the configuration space read / write request to the host device, which then displays the topology network and capability information. This approach eliminates the need to pre-define the device's topology and capabilities through the hardware processing layer. Instead, the software processing layer flexibly acquires configuration information, including topology and capability details. This allows for flexible changes to the topology and capabilities from a software perspective, significantly reducing hardware resource consumption. Furthermore, the software processing layer's handling of read and write operations on transmitted packets, along with its ability to flexibly present the topology to the host device, meets transmission requirements in various scenarios and facilitates subsequent device maintenance. Attached Figure Description

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

[0023] Figure 1 The diagram illustrates a scenario where hardware-based responses to transmitted messages are used in a traditional approach.

[0024] Figure 2 A schematic diagram of the system architecture provided in the embodiments of this application is shown;

[0025] Figure 3 A flowchart of a hardware-software collaborative message processing method provided in an embodiment of this application is shown.

[0026] Figure 4 A timing diagram of the power-on / off synchronization mechanism in an embodiment of this application is shown;

[0027] Figure 5 A schematic diagram of the updated transmission message provided in an embodiment of this application is shown;

[0028] Figure 6 A schematic diagram of an embodiment of the hardware-software co-operation device provided in this application is shown;

[0029] Figure 7 A schematic diagram of one embodiment of the host-side device provided in this application is shown;

[0030] Figure 8 A schematic diagram of the hardware structure of the message processing device provided in the embodiments of this application is shown. Detailed Implementation

[0031] This application provides a hardware and software collaborative message processing method and related apparatus, which can flexibly change the topology network and device capabilities, greatly reduce hardware resource consumption, provide richer maintenance capabilities, and meet the transmission needs of different scenarios.

[0032] It is understood that in the specific embodiments of this application, data such as user information are involved. When the above embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.

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

[0034] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a particular order or sequence. It should be understood that such data can be interchanged where appropriate so that implementations of the application described herein can be implemented, for example, in sequences other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0035] As the deployment density of devices continues to increase, the traditional approach mainly involves pre-determining the topology and capabilities of the devices through a hardware processing layer, and then using a software processing layer to perform read / write operations and responses on the transmitted messages.

[0036] As an illustrative description, Figure 1 This diagram illustrates a scenario where hardware-based responses to transmitted messages are used in a traditional approach. For example... Figure 1 As shown, in schemes using hardware-based response transmission messages (such as TLP messages), the network topology and device capabilities, including physical functions (PF) and virtual functions (VF), need to be pre-defined by hardware such as network interface cards (NICs) based on their own capabilities. This involves planning the device's configuration space, read / write attributes, and routing rules. Then, when the host device reads or writes to the device's configuration space, the hardware sends a corresponding response message (such as a CPL or CPLD message) to the root complex (RC) device based on the pre-defined topology. The RC device then reports the response message to the host device. In this way, the host device presents the device's topology and capabilities based on the response message. However, pre-defining the device's topology and capabilities through hardware consumes significant hardware resources and cannot meet the transmission requirements of different scenarios or facilitate subsequent device maintenance.

[0037] To address the aforementioned technical problems, embodiments of this application provide a hardware-software collaborative message processing method. This method can be applied in scenarios such as cloud technology, including public cloud, private cloud, and bare metal environments, etc., and specific applications are not limited to these scenarios in this application.

[0038] The hardware-software co-processing message processing method provided in this embodiment can also be applied to... Figure 2 In the system architecture shown. For example... Figure 2As shown, the system architecture includes hardware and software co-processing devices and host-side devices. The hardware and software co-processing devices include a software processing layer and a hardware processing layer.

[0039] The software processing layer obtains configuration information and configuration space read / write requests sent by the host-side device. Specifically, after receiving the configuration space read / write request from the host-side device, the hardware processing layer forwards the request transparently to the software processing layer. The described configuration information includes topology network and capability information. The topology network indicates the topological relationship between at least two transmission devices, and the capability information indicates the device capabilities of each of the at least two transmission devices. Furthermore, the configuration space read / write request carries a transmission message, which includes a field indicating the address of the target device to which the transmission message needs to reach. The software processing layer then locates the configuration space of the target device based on the configuration information and the field information. The target device can be any of the at least two transmission devices. After locating the configuration space of the target device, the software processing layer performs read / write operations on the transmission message within the target device's configuration space. After the software processing layer completes the read / write operations on the transmission message, a corresponding read / write response message is generated. Subsequently, the read / write response message is forwarded to the host device via the hardware processing layer in the software and hardware system device, and then the host device displays the network topology and capability information.

[0040] In other words, this embodiment does not require pre-fixing the device's topology and capabilities through a hardware processing layer. Instead, it considers the issue from a software processing perspective, using a software processing layer to flexibly obtain configuration information, including topology and capability information, thus saving hardware resources. Furthermore, the software processing layer's ability to respond to read and write operations on transmitted packets and flexibly present the topology to the host device meets the transmission requirements of different scenarios and facilitates subsequent device maintenance.

[0041] The aforementioned hardware and software collaborative devices may include, but are not limited to, terminal devices, servers, and question-answering robots, etc., and are not specifically limited in the embodiments of this application. The host-side devices mentioned may also include, but are not limited to, terminal devices and servers. Among them, terminal devices may include, but are not limited to, smartphones, desktop computers, laptops, tablets, smart speakers, in-vehicle devices, smartwatches, wearable smart devices, smart voice interaction devices, smart home appliances, and aircraft. Servers may be independent physical servers, server clusters or distributed systems composed of multiple physical servers, or cloud servers that provide basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDN), and big data and artificial intelligence platforms, etc., and are not specifically limited in this application. In addition, the mentioned terminal devices and servers may be directly or indirectly connected through wired or wireless communication, and are not specifically limited in this application.

[0042] The aforementioned hardware-software collaborative message processing methods can also be applied to fields such as cloud technology. Cloud technology refers to a hosting technology that unifies hardware, software, and network resources within a wide area network (WAN) or local area network (LAN) to achieve data computation, storage, processing, and sharing. Cloud technology is a general term encompassing network technology, information technology, integration technology, management platform technology, and application technology based on the cloud computing business model. It can form resource pools, providing flexible and convenient on-demand access. Cloud computing technology will become a crucial support. Backend services of technical network systems require substantial computing and storage resources, such as video websites, image websites, and many portal websites. With the rapid development and application of the internet industry, every item may have its own identification mark in the future, requiring transmission to a backend system for logical processing. Data at different levels will be processed separately, and various industry data will require robust system support, which can only be achieved through cloud computing.

[0043] Cloud computing, as mentioned, is a computing model that distributes computing tasks across a resource pool composed of a large number of computers, enabling various application systems to obtain computing power, storage space, and information services as needed. The network providing these resources is called the "cloud." From the user's perspective, the resources in the "cloud" are infinitely scalable, readily available, on-demand, expandable, and pay-as-you-go. As a provider of fundamental cloud computing capabilities, a cloud resource pool (referred to as a cloud platform, generally called an Infrastructure as a Service (IaaS) platform) is established. Various types of virtual resources are deployed within this pool for external customers to choose from. The cloud resource pool mainly includes: computing devices (virtualized machines containing operating systems), storage devices, and network devices. Logically, a Platform as a Service (PaaS) layer can be deployed on top of the IaaS layer, and a Software as a Service (SaaS) layer can be deployed on top of the PaaS layer. Alternatively, SaaS can be directly deployed on top of IaaS. PaaS is a platform for running software, such as databases and web containers. SaaS consists of various business software, such as web portals and bulk SMS senders. Generally, SaaS and PaaS are upper layers compared to IaaS.

[0044] The following describes a message processing method for hardware-software collaboration provided in this application, from the perspective of interaction between hardware-software collaborative devices and host-side devices, in conjunction with the accompanying drawings. Figure 3 A flowchart illustrating a hardware-software collaborative message processing method provided in an embodiment of this application is shown. Figure 3 As shown, the message processing method may include the following steps:

[0045] 301. The host device sends a configuration space read / write request to the hardware / software co-working device. The configuration space read / write request carries a transmission message, which includes field information indicating the target device address to which the transmission message needs to be delivered.

[0046] In this example, to ensure the host device can correctly scan transmission packets, the hardware-software co-working device needs to complete its initialization before the host device powers on. The hardware-software co-working device can learn that it needs to be powered on before the host device. In other words, the described third message instructs the hardware-software co-working device to be powered on before the host device. Upon receiving the third message, the hardware-software co-working device can then perform its initialization based on it. Subsequently, after the hardware-software co-working device powers on, the host device then performs its own power-on. Powering on can be understood as the process from connecting the device to its power source until the device is running stably and functioning normally.

[0047] As an illustrative description, Figure 4 A timing diagram of the power-on / off synchronization mechanism in an embodiment of this application is shown. For example... Figure 4 As shown, the hardware / software co-working device first performs a power-on operation, followed by the host machine hosting the DPU. Afterwards, the host machine detects whether the hardware / software co-working device has completed its power-on operation. The hardware / software co-working device informs the host machine via a message response that it has successfully powered on, thus successfully initializing the device. Subsequently, the host machine sends a message to the host-side device, notifying it to perform a power-on operation. Upon receiving the message, the host-side device then performs its power-on operation, completing the power-on process for the host-side device.

[0048] After both the hardware / software co-operation device and the host device have powered on, the host device can send a configuration space read / write request to the hardware / software co-operation device if it needs to perform read / write operations on the configuration space of certain devices. It should be noted that the described configuration space read / write request carries a transmission message, and this transmission message includes a field indicating the address of the target device to which the transmission message needs to be delivered. That is, the target device to which the transmission message is transmitted can be determined from the field information. For example, the described transmission message may include, but is not limited to, TLP messages, etc., and specific embodiments in this application are not limited to these.

[0049] Furthermore, the described hardware-software co-processing device may include a software processing layer and a hardware processing layer. The software processing layer can also be understood as a software processing module within the hardware-software co-processing device, and the hardware processing layer can also be understood as a hardware processing module within the hardware-software co-processing device, etc.

[0050] 302. The hardware and software collaborative device obtains configuration information and configuration space read / write requests sent by the host device through the software processing layer. The configuration information includes topology network and capability information. The topology network is used to indicate the topological relationship between at least two transmission devices, and the capability information is used to indicate the device capability status of each of the at least two transmission devices.

[0051] In this example, traditional solutions primarily rely on pre-defined hardware topology and device capabilities to process read / write requests from the host device. This not only consumes significant hardware resources but also fails to meet transmission requirements across different scenarios, and device maintenance is challenging. Therefore, in this embodiment, the host device can send a configuration space read / write request to the hardware-software collaborative device. Furthermore, after the host device sends the configuration space read / write request, the hardware processing layer within the hardware-software collaborative device receives the request and forwards it transparently to the software processing layer. In this way, the software processing layer within the hardware-software collaborative device can obtain the configuration space read / write request.

[0052] For example, in different transmission scenarios, transmission devices can construct corresponding topology networks and capability information according to different transmission requirements. The described topology network indicates the topological relationship between two transmission devices. The mentioned capability information indicates the device capabilities of each of the at least two transmission devices, such as the device's computing power, storage capacity, physical functions, virtual functions, etc., which are not limited in specific embodiments of this application. In this way, the topology network and capability information generated by the transmission devices are obtained through the software processing layer, and then a corresponding configuration space is allocated to each transmission device according to the topology network and capability information. It should be noted that the configuration space of the described transmission devices can also be understood as the memory space of the transmission devices.

[0053] To flexibly present the device topology and capabilities, in this embodiment, after allocating corresponding configuration space for each transmission device through the software processing layer, the software processing layer can obtain the configuration information. It should be noted that the described configuration information includes the aforementioned topology and capability information.

[0054] 303. Based on configuration information and field information, the software processing layer searches for the configuration space of the target device corresponding to the target device address. The target device can be any device among at least two transmission devices.

[0055] In this example, because the configuration information includes the network topology and the field information indicates the address of the target device, after the software processing layer obtains the configuration information and the configuration space read / write request sent by the host device, it can demap the field information contained in the transmission packet from the configuration space read / write request. Thus, based on the configuration information and field information, the software processing layer can find the configuration space of the target device corresponding to the target device address from the configuration space of each generated transmission device.

[0056] 304. In the configuration space of the target device, read and write operations are performed on the transmitted messages through the software processing layer.

[0057] In this example, after locating the configuration space of the target device, the software processing layer can perform read and write operations on the transmitted message within that configuration space. As an illustrative description, the software processing layer can write the transmitted message to the target device's configuration space; alternatively, the software processing layer can also read the transmitted message from the target device's configuration space.

[0058] 305. After the software processing layer completes the read and write operation on the transmission message, the hardware processing layer forwards the read and write response message corresponding to the configuration space read and write request to the host-side device. The read and write response message includes topology network and capability information.

[0059] In this example, a preset flag indicates that the software processing layer has completed reading and writing operations on the transmitted message. During this process, the software processing layer generates a corresponding read / write flag based on the execution status of the read / write operation. In other words, the read / write flag indicates the execution status of the software processing layer's read / write operation on the transmitted message. The software processing layer determines whether the read / write flag is a preset flag, and if so, confirms that the read / write operation on the transmitted message has been completed. Thus, after the software processing layer completes the read / write operation on the transmitted message, it generates a read / write response message corresponding to the configuration space read / write request. This response message is then forwarded to the host device via the hardware processing layer in the hardware / software system device. It should be noted that this read / write response message includes the aforementioned topology and capability information.

[0060] The described read / write response message may include, but is not limited to, CPL messages or CPLD messages, etc., and is not specifically limited in the embodiments of this application.

[0061] In other examples, due to stringent requirements on message processing latency, the hardware-software co-operation device needs to complete message transmission, acknowledgment, and other operations within the timeframe specified by the protocol. Therefore, in the target device's configuration space, after the software processing layer completes read / write operations on the transmitted messages, it can first obtain the enqueue time. The enqueue time can be understood as the time when the transmitted message is written into the message queue of the hardware processing layer. Then, the hardware processing layer maps the enqueue time to the transmitted message, thereby obtaining the updated transmitted message. This is just an illustrative description. Figure 5 A schematic diagram of the updated transmission message provided in an embodiment of this application is shown. For example... Figure 5 As shown, the updated transmission message includes doublewords (DW) 0 to DW4. The original transmission message is primarily mapped to DW0 to DW3, while the enqueue time is mapped to DW4. It should be noted that the described updated transmission message includes the aforementioned enqueue time.

[0062] Subsequently, after obtaining the updated transmission packet from the hardware processing layer, the software processing layer can perform read and write operations on the updated transmission packet in the configuration space of the target device, and then send the corresponding read and write response messages back to the hardware processing layer. In this way, the hardware processing layer can obtain the feedback time from the corresponding read and write response messages. The feedback time mentioned can be understood as the time from when the software processing layer completes the read and write operations on the updated transmission packet in the configuration space of the target device and sends the corresponding read and write response messages back to the hardware processing layer. Thus, after knowing the enqueue time and the feedback time, the hardware processing layer performs latency calculations on the enqueue time and the feedback time to calculate the target latency. It should be noted that the target latency includes the round-trip transmission latency of the packet to be transmitted and the processing latency required for the software processing layer to read and write the updated transmission packet.

[0063] After calculating the target time, the hardware processing layer further determines whether the target time exceeds a preset threshold. If the target time exceeds the preset threshold, the hardware processing layer sends a second message to the host device. This second message instructs the host device to perform abnormal read / write processing on the transmitted message.

[0064] For example, the target time and transmitted messages can also be recorded through the software processing layer, so as to enable analysis and other processing of the time consumption of transmitted messages at different processing stages, providing data support for subsequent analysis and operation and maintenance.

[0065] In some examples, to avoid message overload, the hardware processing layer can obtain its own queue depth after sending the read / write response message corresponding to the configuration space request to the host device. The queue depth can be understood as the number of messages to be processed in the hardware processing layer. If the queue depth is greater than a preset overload threshold, it indicates that the hardware-software co-working device has experienced message transmission overload, which can easily lead to message transmission timeouts. Therefore, after obtaining the queue depth, the hardware processing layer needs to determine whether the queue depth is greater than the preset overload threshold. Further, if the hardware processing layer determines that the queue depth is greater than the preset overload threshold, it sends a first message to the host device. For example, if the queue depth is 10 and the preset overload threshold is 8, it is obvious that 10 > 8. In this case, the hardware processing layer sends the first message to the host device. It should be noted that the first message instructs the host device to suspend sending configuration space read / write requests. Upon receiving the first message, the host device can suspend sending configuration space read / write requests to the hardware / software cooperating device based on the first message, thereby preventing excessive transmission messages from being written into the queue of the hardware / software cooperating device and thus preventing message transmission overload.

[0066] 306. The host-side device displays the network topology and capability information.

[0067] In this example, a read / write response message is generated at the software processing layer and forwarded to the host device via the hardware processing layer in the hardware / software system device. The host device can then receive the read / write response message. It should be noted that this read / write response message includes topology and capability information. Upon receiving the read / write response message, the host device can perform demapping processing to extract the topology and capability information. Subsequently, the host device can display this topology and capability information.

[0068] In this embodiment, there is no need to pre-define the device's topology and capabilities through a hardware processing layer. Instead, the configuration information, including topology and capability information, is flexibly obtained through a software processing layer. This allows for flexible changes to the topology and capabilities from a software processing perspective, significantly reducing hardware resource consumption. Furthermore, the software processing layer responds to read and write operations on transmitted packets, flexibly presenting the topology to the host device, thus meeting transmission requirements in different scenarios and facilitating subsequent device maintenance.

[0069] The foregoing primarily describes the solutions provided by the embodiments of this application from a methodological perspective. It is understood that to achieve the above functions, corresponding hardware structures and / or software modules are included to execute each function. Those skilled in the art should readily recognize that, based on the modules and algorithm steps described in conjunction with the embodiments disclosed in this application, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0070] This application embodiment can divide the device into functional modules according to the above method example. For example, each function can be divided into its own functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.

[0071] The hardware and software collaborative device in the embodiments of this application will be described in detail below. Figure 6 This is a schematic diagram of one embodiment of the hardware and software collaborative device provided in this application. Figure 6 As shown, the hardware and software collaborative device may include an acquisition unit 601, a processing unit 602, and a sending unit 603.

[0072] The acquisition unit 601 is used to acquire configuration information and configuration space read / write requests sent by the host device through the software processing layer in the hardware-software collaborative device. The configuration information includes topology network and capability information. The topology network is used to indicate the topological relationship between at least two transmission devices, and the capability information is used to indicate the device capability status of each of the at least two transmission devices. The configuration space read / write request carries a transmission message, and the transmission message includes field information indicating the address of the target device to which the transmission message needs to reach. For details, please refer to the foregoing. Figure 3 The content described in step 302 is for your understanding and will not be repeated here.

[0073] Processing unit 602 is used to locate the configuration space of the target device corresponding to the target device address based on configuration information and field information through a software processing layer. The target device can be any device among at least two transmission devices. For details, please refer to the foregoing. Figure 3 The content described in step 303 is for your understanding and will not be repeated here.

[0074] The processing unit 602 is used to perform read and write operations on the transmitted messages in the configuration space of the target device through a software processing layer. For details, please refer to the foregoing. Figure 3 The content described in step 304 is for your understanding and will not be repeated here.

[0075] The sending unit 603 is used to forward the read / write response message corresponding to the configuration space read / write request to the host-side device via the hardware processing layer after the software processing layer has completed the read / write operation on the transmission message. The read / write response message includes topology network and capability information. See the foregoing for details. Figure 3 The content described in step 305 is for your understanding and will not be repeated here.

[0076] In some optional implementations, the acquisition unit 601 is further configured to acquire topology network and capability information through the software processing layer before acquiring configuration information and configuration space read / write requests sent by the host-side device. The processing unit 602 is configured to allocate configuration space for each transmission device according to the topology network and capability information through the software processing layer.

[0077] In some alternative embodiments, the acquisition unit 601 is further configured to acquire the queue depth after forwarding the read / write response message corresponding to the configuration space read / write request to the host-side device via the hardware processing layer. The queue depth is used to indicate the number of packets to be transmitted in the hardware processing layer. The processing unit 602 is configured to send a first message to the host-side device via the hardware processing layer when the queue depth is greater than a preset overload threshold. The first message is used to instruct the host-side device to suspend sending configuration space read / write requests.

[0078] In some alternative embodiments, the acquisition unit 601 is used to acquire a read / write identifier, which indicates the execution status of the software processing layer when performing read / write operations on the transmitted message. The processing unit 602 is used to determine that the software processing layer has completed the read / write operation on the transmitted message when the read / write identifier is a preset flag.

[0079] In some alternative embodiments, the processing unit 602 is further configured to: after performing read / write operations on the transmission packet through the software processing layer in the configuration space of the target device, perform packet update processing on the transmission packet through the hardware processing layer to obtain an updated transmission packet. The updated transmission packet includes an enqueue time, which is the time when the transmission packet is written into the packet queue of the hardware processing layer. The acquisition unit 601 is further configured to acquire a feedback time, which is the time when the corresponding read / write response message is fed back to the hardware processing layer after the read / write operations on the updated transmission packet through the software processing layer are completed in the configuration space of the target device. The processing unit 602 is configured to: perform latency calculation processing on the enqueue time and feedback time through the hardware processing layer to obtain a target latency, which includes the round-trip transmission latency of the transmission packet and the processing latency required for the software processing layer to read and write the updated transmission packet. The sending unit 603 is configured to send a second message to the host device through the hardware processing layer when the target latency exceeds a preset threshold. The second message is used to prompt the host device to perform abnormal read / write processing on the transmission packet.

[0080] In some alternative embodiments, the acquisition unit 601 is further configured to acquire the enqueue time before performing message update processing on the transmitted message through the hardware processing layer to obtain the updated transmitted message. The processing unit 602 is configured to map the enqueue time into the transmitted message through the hardware processing layer to obtain the updated transmitted message.

[0081] In some alternative embodiments, the processing unit 602 is also configured to record the target time and transmit messages through a software processing layer.

[0082] In some alternative embodiments, the acquisition unit 601 is further configured to receive a third message before acquiring configuration information through the software processing layer and before receiving a configuration space read / write request sent by the host device. The third message is used to instruct the hardware-software co-working device to perform a power-on operation before performing a power-on operation on the host device. The processing unit 602 is configured to perform a power-on operation on the hardware-software co-working device based on the third message.

[0083] In some alternative implementations, the transmission message includes a Transaction Layer Packet (TLP) message.

[0084] The above description primarily focuses on the functional modules of the hardware-software co-working device. The following section will describe the host-side device in this application embodiment in detail from the perspective of its functional modules. Figure 7 This is a schematic diagram of one embodiment of the host-side device provided in this application. For example... Figure 7 As shown, the host-side device includes a transmitting unit 701, a receiving unit 702, and a processing unit 703.

[0085] The sending unit 701 is used to send a configuration space read / write request to the hardware / software collaborative device. The configuration space read / write request carries a transmission message, which includes field information indicating the target device address to which the transmission message needs to reach. This field information is used by the hardware / software collaborative device to locate the configuration space of the target device corresponding to the target device address. For details, please refer to the foregoing. Figure 3 The content described in step 301 is for your understanding and will not be repeated here.

[0086] The receiving unit 702 is configured to receive a read / write response message corresponding to a configuration space read / write request sent by the hardware / software collaborative device. The read / write response message is sent by the hardware / software collaborative device after completing the read / write operation on the transmitted message in the configuration space of the target device. The read / write response message includes topology network and capability information. The topology network indicates the topological relationship between at least two transmission devices, and the capability information indicates the device capability status of each of the at least two transmission devices. The target device can be any of the at least two transmission devices. For details, please refer to the foregoing. Figure 3 The content described in step 305 is for your understanding and will not be repeated here.

[0087] Processing unit 703 is used to display topology network and capability information. See the preceding section for details. Figure 3 The content described in step 306 is for your understanding and will not be repeated here.

[0088] The above description of the hardware-software co-operation device and host-side device in the embodiments of this application is from the perspective of modular functional entities. The following description of the message processing device in the embodiments of this application is from the perspective of hardware processing. The described message processing device may include, but is not limited to, the aforementioned... Figure 6 The software and hardware co-operation devices mentioned in the text Figure 7 The host-side equipment mentioned in the text, etc. Figure 8 This is a schematic diagram of the structure of the message processing device provided in the embodiments of this application. The message processing device can vary considerably due to differences in configuration or performance. The message processing device may include at least one processor 801, a communication line 807, a memory 803, and at least one communication interface 804.

[0089] The processor 801 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (server IC), or one or more integrated circuits used to control the execution of programs according to the present application.

[0090] Communication line 807 may include a path for transmitting information between the aforementioned components.

[0091] The communication interface 804 uses any transceiver-like device for communicating with other devices or communication networks, such as Ethernet, radio access network (RAN), wireless local area network (WLAN), etc.

[0092] The memory 803 can be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type of dynamic storage device that can store information and instructions. The memory can exist independently and be connected to the processor via communication line 807. The memory can also be integrated with the processor.

[0093] The memory 803 stores computer execution instructions for implementing the scheme of this application, and its execution is controlled by the processor 801. The processor 801 executes the computer execution instructions stored in the memory 803, thereby implementing the message processing method provided in the above embodiments of this application.

[0094] Optionally, the computer execution instructions in the embodiments of this application may also be referred to as application code, and the embodiments of this application do not specifically limit this.

[0095] In a specific implementation, as one example, the message processing device may include multiple processors, for example... Figure 8 Processors 801 and 802 are described herein. Each of these processors may be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor. A processor here may refer to one or more devices, circuits, and / or processing cores used to process data (e.g., computer program instructions).

[0096] In a specific implementation, as one embodiment, the message processing device may further include an output device 805 and an input device 806. The output device 805 communicates with the processor 801 and can display information in various ways. The input device 806 communicates with the processor 801 and can receive input from a target object in various ways. For example, the input device 806 may be a mouse, a touchscreen device, or a sensing device, etc.

[0097] The aforementioned message processing device can be a general-purpose device or a dedicated device. In specific implementations, the message processing device can be a server, a terminal, or something similar. Figure 8 A device with a similar structure. The embodiments of this application do not limit the type of message processing device.

[0098] It should be noted that Figure 8 The processor 801 can invoke computer execution instructions stored in the memory 803 to cause the message processing device to perform actions such as... Figures 3 to 4 The method in the corresponding method embodiment.

[0099] Specifically, Figure 6 Processing unit 602 in Figure 7 The function / implementation process of the processing unit 703 can be achieved through... Figure 8 The processor 801 in the memory calls computer execution instructions stored in the memory 803 to implement the function. Figure 6 The acquisition unit 601 and the sending unit 603 in the middle Figure 7 The functions / implementation process of the transmitting unit 701 and the receiving unit 702 can be obtained through Figure 8 It is implemented using the 804 communication interface.

[0100] This application also provides a computer storage medium storing a computer program for electronic data interchange, which causes a computer to perform some or all of the steps of any of the hardware-software co-operated message processing methods described in the above method embodiments.

[0101] This application also provides a computer program product, which includes a non-transitory computer-readable storage medium storing a computer program operable to cause a computer to perform some or all of the steps of any of the hardware-software co-operated message processing methods described in the above method embodiments.

[0102] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product.

[0103] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0104] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, or indirect coupling or communication connection between apparatuses or units, and may be electrical, mechanical, or other forms.

[0105] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0106] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0107] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, 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 storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0108] The above embodiments can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented by software, they can be implemented in whole or in part in the form of a computer program product.

[0109] A computer program product includes one or more computer instructions. When these computer instructions are loaded and executed on a computer, they generate, in whole or in part, the processes or functions according to embodiments of this application. 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. For example, computer instructions may be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a server or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., SSDs), etc.

[0110] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.

Claims

1. A hardware-software co-processing message processing method, characterized in that, Applied to a software-hardware collaborative device, the software-hardware collaborative device including a software processing layer and a hardware processing layer, the method includes: The configuration information and configuration space read / write requests sent by the host-side device are obtained through the software processing layer. The configuration information includes topology network and capability information. The topology network is used to indicate the topological relationship between at least two transmission devices. The capability information is used to indicate the device capability status of each of the at least two transmission devices. The configuration space read / write request carries a transmission message. The transmission message includes field information indicating the target device address that the transmission message needs to reach. The software processing layer searches the configuration space of the target device corresponding to the target device address based on the configuration information and the field information, where the target device is any one of the at least two transmission devices. In the configuration space of the target device, read and write operations are performed on the transmitted message through the software processing layer. After the software processing layer completes the read / write operation on the transmission message, the hardware processing layer forwards the read / write response message corresponding to the configuration space read / write request to the host-side device. The read / write response message includes the topology network and the capability information.

2. The method according to claim 1, characterized in that, Before obtaining configuration information and configuration space read / write requests sent by the host-side device through the software processing layer, the method further includes: The topology and capability information are obtained through the software processing layer. The software processing layer allocates configuration space for each transmission device based on the network topology and the capability information.

3. The method according to any one of claims 1 to 2, characterized in that, After forwarding the read / write response message corresponding to the configuration space read / write request to the host-side device via the hardware processing layer, the method further includes: Obtain the queue depth, which indicates the number of packets to be transmitted in the hardware processing layer; When the queue depth is greater than a preset overload threshold, a first message is sent to the host-side device through the hardware processing layer. The first message is used to instruct the host-side device to suspend sending the configuration space read / write request.

4. The method according to any one of claims 1 to 2, characterized in that, After the read / write operation on the transmitted message is completed by the software processing layer in the configuration space of the target device, the method further includes: The hardware processing layer performs message update processing on the transmission message to obtain an updated transmission message. The updated transmission message includes an enqueue time, which is the time when the transmission message is written into the message queue of the hardware processing layer. The feedback time is the time when the software processing layer sends the corresponding read / write response message back to the hardware processing layer after performing the read / write operation on the updated transmission message in the configuration space of the target device. The hardware processing layer performs latency calculation on the queuing time and the feedback time to obtain the target time. The target time includes the round-trip transmission latency of the transmitted message and the processing latency required for the software processing layer to read and write the updated transmitted message. When the target time exceeds a preset threshold, a second message is sent to the host device through the hardware processing layer. The second message is used to prompt the host device to perform abnormal read / write processing on the transmitted message.

5. The method according to claim 4, characterized in that, Before performing message update processing on the transmitted message through the hardware processing layer to obtain the updated transmitted message, the method further includes: Obtain the enqueue time; The step of updating the transmitted message through the hardware processing layer to obtain the updated transmitted message includes: The hardware processing layer maps the enqueue time into the transmission message to obtain the updated transmission message.

6. The method according to claim 4, characterized in that, The method further includes: The software processing layer records the target time and the transmitted message.

7. The method according to any one of claims 1 to 2, characterized in that, The software processing layer performs the read / write operation on the transmitted message, including: Obtain a read / write identifier, which is used to indicate the execution status of the software processing layer when performing the read / write operation on the transmitted message; When the read / write identifier is a preset flag, it is determined that the software processing layer has completed the read / write operation on the transmitted message.

8. The method according to any one of claims 1 to 2, characterized in that, Before obtaining configuration information and configuration space read / write requests sent by the host-side device through the software processing layer, the method further includes: Receive a third message, the third message being used to instruct that the power-on operation be performed on the hardware and software collaborative device before the power-on operation is performed on the host-side device; The power-on operation is performed on the hardware and software collaborative device based on the third message.

9. The method according to any one of claims 1 to 2, characterized in that, The transmission message includes a transaction layer data packet (TLP) message.

10. A hardware-software co-processing message processing method, characterized in that, Applied to host-side devices, the method includes: Send a configuration space read / write request to the hardware / software collaborative device. The configuration space read / write request carries a transmission message. The transmission message includes field information indicating the target device address that the transmission message needs to reach. The field information is used by the hardware / software collaborative device to find the configuration space of the target device corresponding to the target device address. The system receives a read / write response message corresponding to the configuration space read / write request sent by the hardware / software collaborative device. The read / write response message is sent by the hardware / software collaborative device after completing the read / write operation on the transmission packet in the configuration space of the target device. The read / write response message includes topology network and capability information. The topology network is used to indicate the topological relationship between at least two transmission devices. The capability information is used to indicate the device capability status of each of the at least two transmission devices. The target device is any device among the at least two transmission devices. The topology network and the capability information are displayed.

11. A hardware and software collaborative device, characterized in that, include: The acquisition unit is used to acquire configuration information and configuration space read / write requests sent by the host-side device through the software processing layer in the hardware-software collaborative device. The configuration information includes topology network and capability information. The topology network is used to indicate the topological relationship between at least two transmission devices. The capability information is used to indicate the device capability status of each of the at least two transmission devices. The configuration space read / write request carries a transmission message. The transmission message includes field information indicating the target device address that the transmission message needs to reach. The processing unit is configured to use the software processing layer to locate the configuration space of the target device corresponding to the target device address based on the configuration information and the field information, wherein the target device is any one of the at least two transmission devices; The processing unit is configured to perform read and write operations on the transmitted message in the configuration space of the target device through the software processing layer. The sending unit is configured to, after the software processing layer completes the read / write operation on the transmission message, forward the read / write response message corresponding to the configuration space read / write request to the host-side device via the hardware processing layer. The read / write response message includes the topology network and the capability information.

12. A host-side device, characterized in that, include: The sending unit is used to send a configuration space read / write request to the hardware and software collaborative device. The configuration space read / write request carries a transmission message. The transmission message includes field information indicating the target device address that the transmission message needs to reach. The field information is used by the hardware and software collaborative device to find the configuration space of the target device corresponding to the target device address. The receiving unit is configured to receive a read / write response message corresponding to the configuration space read / write request sent by the hardware / software collaborative device. The read / write response message is sent by the hardware / software collaborative device after completing the read / write operation on the transmission message in the configuration space of the target device. The read / write response message includes topology network and capability information. The topology network is used to indicate the topological relationship between at least two transmission devices. The capability information is used to indicate the device capability status of each of the at least two transmission devices. The target device is any device among the at least two transmission devices. The processing unit is used to display the topology network and the capability information.

13. A message processing device, characterized in that, include: Input / output interface, processor, and memory, wherein the memory stores program instructions; The processor is configured to execute program instructions stored in the memory to perform the method as described in any one of claims 1 to 10.

14. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes instructions that, when executed on a computer device, cause the computer device to perform the method as described in any one of claims 1 to 10.

15. A computer program product, characterized in that, The computer program product includes instructions that, when executed on a computer device, cause the computer device to perform the method as described in any one of claims 1 to 10.

Citation Information

Patent Citations

  • Software and hardware collaborative message acceleration method and device

    CN112003792A

  • Message processing method and device, electronic equipment and computer readable storage medium

    CN116015613A