Response message processing method and system

By designing a response message processing system divided by clear functional modules, the problem of inefficient processing of existing systems is solved and efficient response message processing is achieved.

CN119854394AActive Publication Date: 2025-04-18NAT UNIV OF DEFENSE TECH
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202510322099.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-19
Publication Date
2025-04-18
Estimated Expiration
2045-03-19

AI Technical Summary

Technical Problem

The existing design response message processing system lacks reasonable functional division and processing flow, resulting in inefficient processing of the requesting side to read response messages.

Method used

A response message processing system is designed, including a message parsing module, a descriptor checking module, a request control module, a request information reception module, an address reading module and a message construction module. Through clear functional module division and processing flow, processing efficiency is improved.

Benefits of technology

Through reasonable functional module division and processing flow, the efficiency of response message processing is significantly improved, and the problem of inefficient processing of existing systems is solved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119854394A_ABST
    Figure CN119854394A_ABST
Patent Text Reader

Abstract

The invention discloses a response message processing system. The response message processing system comprises a message analysis module, a descriptor checking module, a request control module, a request information receiving module, an address reading module and a message construction module, the message analysis module is used for analyzing the response message into response message data and a response message descriptor; the descriptor checking module constructs a response information descriptor according to the type of the response message, the queue pair state and the correctness of the response message descriptor; the request control module constructs a request information descriptor; the request information receiving module constructs a request transmission descriptor; the address reading module is used for constructing a request information address descriptor; and the message construction module constructs and sends a request target message according to the request information address descriptor and the response message data. Compared with the prior art, according to the response message processing system supporting RoCEv2, the processing efficiency of the system is remarkably improved through reasonable and clear function module division. The method has the same beneficial effects.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of network chip technology, and in particular to a response message processing method and system. Background Art

[0002] RDMA (Remote Direct Memory Access) is a method of transferring data directly from memory to memory. It allows the network adapter to transfer data directly to the target computer's memory without the need for the target host's CPU to intervene in processing, which can significantly reduce network communication latency and improve data transfer efficiency. RoCEv2 (RDMA over Converged Ethernet version 2) is an Ethernet-based RDMA protocol and the second generation of RDMA technology. It combines Ethernet and RDMA to significantly enhance performance and flexibility. RoCEv2 bypasses the processing layer of traditional data transmission through direct memory access between systems, thereby reducing CPU involvement and reducing communication latency. This feature makes RoCEv2 an ideal choice for applications that require extremely high data interaction speed and efficiency, such as high-performance computing (HPC) environments, data centers, and cloud computing architectures. In actual application, the response message based on the RoCEv2 protocol needs to check and process multiple fields and descriptors when returning to the requesting end. The existing response message processing system does not have reasonable functional division and processing flow, which seriously affects the processing efficiency of the requesting end in reading the response message.

[0003] In view of this, it is a technical problem that needs to be urgently solved by technical personnel in this field to provide a response message processing method and system that supports RoCEv2 with reasonable functional division and efficient processing capability. Summary of the invention

[0004] In order to solve the above technical problems, the purpose of the present invention is to provide a response message processing method and system that supports RoCEv2, and at the same time has the characteristics of reasonable functional division and high response message processing efficiency.

[0005] Based on the above objectives, the technical solution provided by the present invention is as follows: A response message processing system comprises a message parsing module, a descriptor checking module, a request control module, a request information receiving module, an address reading module and a message construction module; The message parsing module is connected to the descriptor checking module and the message construction module respectively; The descriptor checking module is connected to the request control module and the request information receiving module respectively; The request information receiving module is connected to the request control module and the address reading module respectively; The message construction module is connected to the address reading module; The message parsing module is used to parse the response message into response message data and a response message descriptor; The descriptor checking module is used to construct and send a corresponding response information descriptor according to the response message type, the queue pair status and the correctness of the response message descriptor; The request control module is used to store the request information of the request message, and construct and send the request information descriptor according to the response information descriptor and the request information; The request information receiving module is used to construct and send a request transfer descriptor according to the request information descriptor and the response information descriptor; The address reading module is used to construct and send a request information address descriptor according to the request transfer descriptor and the storage address of the message construction module; The message construction module is used to construct and send a request target message according to the request information address descriptor and the response message data, and send a request target message sending completion signal to the descriptor checking module; The descriptor checking module is further used to send a completion signal according to the request target message, and to construct and send a corresponding response information descriptor.

[0006] Preferably, the response message processing system further includes: a message parsing module; The message parsing module is connected to the descriptor checking module and the message construction module respectively; The message parsing module is used to parse the response message into the response message data and the response message descriptor.

[0007] Preferably, the response message processing system further comprises: a queue pair state management module; The queue pair state management module is connected to the descriptor checking module; The queue pair status management module is used to monitor the queue pair status.

[0008] Preferably, the descriptor checking module is used to construct and send a corresponding response information descriptor according to the response message type, the queue pair status and the correctness of the response message descriptor in the queue pair, specifically: When the queue pair state is an abnormal state or error information exists in the response message descriptor, the constructed response message descriptor is a response message descriptor including the error information.

[0009] Preferably, the descriptor checking module is used to construct and send a corresponding response information descriptor according to the response message type, the queue pair status and the correctness of the response message descriptor in the queue pair, specifically: When the response message is a non-read response message, sending a first response information descriptor to the request control module; When the response message is a read response message and is the first read response message that the request end expects to receive, construct a first response information descriptor and send it to the request control module, and construct a second response information descriptor and send it to the request information receiving module; When the response message is a read response message and is not the first or last read response message that the requesting end expects to receive, a second response information descriptor is constructed and sent to the request information receiving module.

[0010] Preferably, the descriptor checking module is further used to send a completion signal according to the request target message, construct and send a corresponding response information descriptor, specifically: When the descriptor checking module receives the request target message sending completion signal, it constructs a first response information descriptor and sends it to the request control module.

[0011] Preferably, the descriptor checking module processes one response message descriptor at a time; After the descriptor checking module receives the request target message sending completion signal and sends the first response information descriptor, the descriptor checking module starts to process the next response information descriptor in sequence.

[0012] Preferably, the response message processing system further comprises: a bridging module; The bridge module is connected to the address reading module and the message construction module respectively; The bridging module is used to obtain the storage address of the message construction module; The bridge module is also used to send the request target message to the corresponding request end address.

[0013] A response message processing method, using a response message processing system, wherein the response message processing system includes a message parsing module, a descriptor checking module, a request control module, a request information receiving module, an address reading module and a message construction module, and the method includes: Utilizing the message parsing module, parsing the response message into response message data and a response message descriptor; Using the descriptor checking module, construct and send a corresponding response information descriptor according to the response message type, the queue pair status and the correctness of the response message descriptor; Utilizing the request control module, storing the request information of the request message, constructing and sending the request information descriptor according to the response information descriptor and the request information; Using the request information receiving module, construct and send a request transfer descriptor according to the request information descriptor and the response information descriptor; Using the address reading module, construct and send a request information address descriptor according to the request transfer descriptor and the storage address of the message construction module; Using the message construction module, construct and send a request target message according to the request information address descriptor and the response message data, and send a request target message sending completion signal to the descriptor checking module; The descriptor checking module is utilized to send a completion signal according to the request target message, and to construct and send a corresponding response information descriptor.

[0014] The present invention discloses a response message processing system, including: a message parsing module, a descriptor checking module, a request control module, a request information receiving module, an address reading module and a message construction module; the message parsing module is used to parse the response message into response message data and a response message descriptor; the descriptor checking module constructs a response information descriptor according to the response message type, the queue pair state and the correctness of the response message descriptor; the request control module constructs a request information descriptor; the request information receiving module constructs a request transfer descriptor; the address reading module constructs a request information address descriptor; the message construction module constructs and sends a request target message according to the request information address descriptor and the response message data. Compared with the prior art, the response message processing system supporting RoCEv2 of the present invention significantly improves the processing efficiency of the system through reasonable and clear functional module division. The method has the same beneficial effects. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0016] Figure 1 A schematic diagram of the structure of a response message processing system according to an embodiment of the present invention; Figure 2 The present invention is a flowchart of a method for processing a response message in an embodiment of the present invention. DETAILED DESCRIPTION

[0017] In order to enable those skilled in the art to better understand the technical solutions in this application, the technical solutions in the embodiments of this application will be clearly and completely described below. Obviously, the described embodiments are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0018] like Figure 1 As shown, an embodiment of the present invention provides a response message processing system, including a message parsing module, a descriptor checking module, a request control module, a request information receiving module, an address reading module and a message construction module; The message parsing module is connected to the descriptor checking module and the message construction module respectively; The descriptor checking module is connected to the request control module and the request information receiving module respectively; The request information receiving module is connected to the request control module and the address reading module respectively; The message construction module is connected with the address reading module; A message parsing module, used for parsing the response message into response message data and a response message descriptor; A descriptor checking module, used for constructing and sending a corresponding response information descriptor according to the response message type, the queue pair status and the correctness of the response message descriptor; It should be noted that the message parsing module parses the response message according to the order in which the response messages are received to obtain the response message data and the response message descriptor; the message parsing module sends the response message descriptor to the descriptor checking module and sends the response message data to the message construction module.

[0019] In actual use, the response message descriptor includes most of the information of the response message, including the response message type, opcode, syndrome, qpn (queue pair number), psn (packet sequence number), msn (message sequence number) and len (message data length); the descriptor checking module is also used to determine the correctness of the response message descriptor, specifically to check whether the number, name and content of the fields contained in the response descriptor comply with the preset rules of the requesting end and the RoCEv2 protocol rules; the response message processing module stores and processes the response message descriptor in the order of receipt.

[0020] Preferably, the descriptor checking module is used to construct and send a corresponding response information descriptor according to the response message type, the queue pair state and the correctness of the response message descriptor in the queue pair, specifically: When the queue pair state is an abnormal state or there is error information in the response message descriptor, the constructed response message descriptor is a response message descriptor including the error information.

[0021] It should be noted that in RDMA technology, a queue pair is a basic communication unit, and each queue pair has its own sending queue and receiving queue for processing data transmission. Therefore, in the present invention, it is necessary to further process the response message under the premise that the queue pair is in a normal state to ensure the effectiveness of the response message processing; the abnormal state of the queue pair is that the queue pair cannot receive the response message or the queue pair has a valid bit pulled low.

[0022] Preferably, the descriptor checking module is used to construct and send a corresponding response information descriptor according to the response message type, the queue pair status and the correctness of the response message descriptor in the queue pair, specifically: When the queue pair state is an abnormal state or error information exists in the response message descriptor, the constructed response message descriptor is a response message descriptor including the error information.

[0023] It should be noted that when the queue pair status is abnormal or there is error information in the response message descriptor, a response information descriptor including the error information is constructed, and the error information is sent to the message construction module through the request control module, the request information receiving module and the address reading module, and the corresponding response message data is discarded.

[0024] Preferably, the descriptor checking module is used to construct and send a corresponding response information descriptor according to the response message type, the queue pair state and the correctness of the response message descriptor in the queue pair, specifically: When the response message is a non-read response message, sending a first response information descriptor to the request control module; When the response message is a read response message and is the first read response message that the request end expects to receive, construct a first response information descriptor and send it to the request control module, and construct a second response information descriptor and send it to the request information receiving module; When the response message is a read response message and is not the first or last read response message that the requesting end expects to receive, a second response information descriptor is constructed and sent to the request information receiving module.

[0025] It should be noted that the response message types include read response messages and non-read response messages; the read response message carries response message data, and the non-read response message does not contain response data; when the response message corresponding to the response message descriptor processed by the descriptor checking module is the first read response message that the requesting end expects to receive, a first response information descriptor is constructed and sent to the request control module, and the request information in the request message is obtained from the request control module, and at the same time, a second response information descriptor is constructed and sent to the request information receiving module; when the response message is a read response message and is not the first or last read response message that the requesting end expects to receive, a second response information descriptor is constructed and sent to the request information receiving module.

[0026] In the actual working process, when the queue pair state is normal, the descriptor checking module determines the type of the response message according to the response message descriptor. When the type of the response message is a non-read response message, a first response information descriptor is constructed to the request control module. At this time, the non-read response message is processed, and the descriptor checking module starts to process the next response message descriptor; when the queue pair state is normal, the descriptor checking module determines the type of the response message according to the response message descriptor. When the type of the response message is a read response message and it is the first read response message that the request end expects to receive, a first response information descriptor is constructed and sent to the request control module, and a second response information descriptor is constructed and sent to the request information receiving module; the content of the first response information descriptor is shown in Table 1 below: Table 1

[0027] The content of the second response information descriptor is shown in Table 2 below: Table 2

[0028] A request control module, used to store request information of the request message, construct and send a request information descriptor according to the response information descriptor and the request information; It should be noted that the content of the request information descriptor is shown in Table 3 below: Table 3

[0029] A request information receiving module, used for constructing and sending a request transfer descriptor according to the request information descriptor and the response information descriptor; It should be noted that the content of the request transfer descriptor is shown in Table 4 below: Table 4

[0030] An address reading module, used for constructing and sending a request information address descriptor according to the request transfer descriptor and the storage address of the message construction module; It should be noted that the content of the request information address descriptor is shown in Table 5 below: Table 5

[0031] It should be noted that when the request control module receives the response information descriptor including the error information, it constructs the sending request information descriptor including the error information; the request information receiving module receives the sending request information descriptor including the error information, and constructs the request transfer descriptor including the error information.

[0032] A message construction module, used for constructing and sending a request target message according to the request information address descriptor and the response message data, and sending a request target message sending completion signal to the descriptor checking module; The descriptor checking module is also used to send a completion signal according to the request target message, and construct and send a corresponding response information descriptor.

[0033] It should be noted that the message construction module receives the request information address descriptor. When the request message corresponding to the request information address descriptor is the last message that the requesting end expects to read, it constructs and sends the request target message, and at the same time sends a request target message sending completion signal to the descriptor checking module. The descriptor checking module constructs and sends the corresponding second response information descriptor to the request control module based on the request target message sending completion signal. At this time, the processing of a read response message is completed.

[0034] Preferably, the descriptor checking module processes one response message descriptor at a time; After the descriptor checking module receives the request target message sending completion signal and sends the first response information descriptor, the descriptor checking module starts to process the next response information descriptor in sequence.

[0035] In actual working process, the response message processing system of the present invention responds to messages one by one and processes one response message at a time; the descriptor checking module processes one response message descriptor at a time, and the processing order is FIFO (first in first out).

[0036] Preferably, the response message processing system further comprises: a queue pair state management module; The queue pair state management module is connected to the descriptor checking module; The queue pair status management module is used to monitor the queue pair status.

[0037] Preferably, the response message processing system further comprises: a bridging module; The bridge module is connected to the address reading module and the message construction module respectively; A bridge module, used for obtaining the storage address of the message construction module; The bridge module is also used to send the request target message to the corresponding request end address.

[0038] like Figure 2 As shown, a response message processing method is applied to a response message processing system, wherein the response message processing system includes a message parsing module, a descriptor checking module, a request control module, a request information receiving module, an address reading module and a message construction module, and the method includes: S1. Using the descriptor check module, according to the response message type, queue status and the correctness of the response message descriptor, construct and send the corresponding response information descriptor; S2. Using the request control module, the request information of the request message is stored, and the request information descriptor is constructed and sent according to the response information descriptor and the request information; S3. Using the request information receiving module, according to the request information descriptor and the response information descriptor, construct and send the request transfer descriptor; S4. Using the address reading module, according to the storage address of the request transfer descriptor and message construction module, construct and send the request information address descriptor; S5. Using the message construction module, according to the request information address descriptor and the response message data, construct and send the request target message, and send the request target message to the descriptor check module to send a completion signal; S6. Using the descriptor check module, send a completion signal according to the request target message, construct and send the corresponding response information descriptor.

[0039] In step S1 to step S6, a descriptor checking module is used to construct and send a corresponding response information descriptor according to the response message type, the queue pair state and the correctness of the response message descriptor; a request control module is used to store the request information of the request message, and a request information descriptor is constructed and sent according to the response information descriptor and the request information; a request information receiving module is used to construct and send a request transfer descriptor according to the request information descriptor and the response information descriptor; an address reading module is used to construct and send a request information address descriptor according to the request transfer descriptor and the storage address of the message construction module; a message construction module is used to construct and send a request target message according to the request information address descriptor and the response message data, and a request target message sending completion signal is sent to the descriptor checking module; a descriptor checking module is used to construct and send a corresponding response information descriptor according to the request target message sending completion signal. Compared with the prior art, the response message processing method supporting RoCEv2 of the present invention is based on the clear division of modules between each system, so that the processing flow is more concise and smooth, and the processing efficiency of the response message is significantly improved.

[0040] In the embodiments provided in the present application, it should be understood that the disclosed methods and systems can be implemented in other ways. The system embodiments described above are merely schematic. For example, the division of modules is only a logical function division. There may be other division methods in actual implementation, such as: multiple modules or components can be combined, or can be integrated into another system, or some features can be ignored, or not executed. In addition, the coupling, direct coupling, or communication connection between the components shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or modules, which can be electrical, mechanical or other forms.

[0041] In addition, all functional modules in the embodiments of the present invention may be integrated into one processor, or each module may be a separate device, or two or more modules may be integrated into one device; each functional module in the embodiments of the present invention may be implemented in the form of hardware or in the form of hardware plus software functional units.

[0042] A person of ordinary skill in the art can understand that all or part of the steps of implementing the above method embodiment can be completed by program instructions and related hardware. The aforementioned program instructions can be stored in a computer-readable storage medium. When the program instructions are executed, the steps of the above method embodiment are executed; and the aforementioned storage medium includes: a mobile storage device, a read-only memory (ROM), a magnetic disk or an optical disk, and other media that can store program codes.

[0043] It should be understood that the use of "system", "device", "unit" and / or "module" in this application is only a method for distinguishing different components, elements, parts, parts or assemblies at different levels. However, if other words can achieve the same purpose, the word can be replaced by other expressions.

[0044] As shown in this application and claims, unless the context clearly indicates an exception, the words "a", "an", "a kind" and / or "the" do not refer to the singular, but also include the plural. Generally speaking, the terms "include" and "comprise" only indicate the inclusion of clearly identified steps and elements, and these steps and elements do not constitute an exclusive list. The method or device may also include other steps or elements. The elements defined by the sentence "includes a..." do not exclude the existence of other identical elements in the process, method, commodity or device that includes the elements.

[0045] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features. In the description of this application, "multiple" and "several" mean two or more, unless otherwise clearly and specifically defined.

[0046] If a flow chart is used in the present application, the flow chart is used to illustrate the operations performed by the system according to the embodiment of the present application. It should be understood that the preceding or following operations are not necessarily performed accurately in order. On the contrary, each step can be processed in reverse order or simultaneously. At the same time, other operations can also be added to these processes, or a certain step or several steps of operations can be removed from these processes.

[0047] The above description of the disclosed embodiments enables one skilled in the art to implement or use the present invention. Various modifications to these embodiments will be apparent to one skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention will not be limited to the embodiments shown herein, but rather to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A response message processing system, characterized in that: It includes a message parsing module, a descriptor checking module, a request control module, a request information receiving module, an address reading module and a message construction module; The message parsing module is connected to the descriptor checking module and the message construction module respectively; The descriptor checking module is connected to the request control module and the request information receiving module respectively; The request information receiving module is connected to the request control module and the address reading module respectively; The message construction module is connected to the address reading module; The message parsing module is used to parse the response message into response message data and a response message descriptor; The descriptor checking module is used to construct and send a corresponding response information descriptor according to the response message type, the queue pair status and the correctness of the response message descriptor; The request control module is used to store the request information of the request message, and construct and send the request information descriptor according to the response information descriptor and the request information; The request information receiving module is used to construct and send a request transfer descriptor according to the request information descriptor and the response information descriptor; The address reading module is used to construct and send a request information address descriptor according to the request transfer descriptor and the storage address of the message construction module; The message construction module is used to construct and send a request target message according to the request information address descriptor and the response message data, and send a request target message sending completion signal to the descriptor checking module; The descriptor checking module is further used to send a completion signal according to the request target message, and to construct and send a corresponding response information descriptor.

2. The response message processing system according to claim 1, characterized in that: Also includes: Queue pair state management module; The queue pair state management module is connected to the descriptor checking module; The queue pair status management module is used to monitor the queue pair status.

3. The response message processing system according to claim 1, characterized in that: The descriptor checking module is used to construct and send a corresponding response information descriptor according to the response message type, the queue pair status and the correctness of the response message descriptor in the queue pair, specifically: When the queue pair state is an abnormal state or error information exists in the response message descriptor, the constructed response message descriptor is a response message descriptor including the error information.

4. The response message processing system according to claim 3, characterized in that: The descriptor checking module is used to construct and send a corresponding response information descriptor according to the response message type, the queue pair status and the correctness of the response message descriptor in the queue pair, specifically: When the response message is a non-read response message, sending a first response information descriptor to the request control module; When the response message is a read response message and is the first read response message that the request end expects to receive, construct a first response information descriptor and send it to the request control module, and construct a second response information descriptor and send it to the request information receiving module; When the response message is a read response message and is not the first or last read response message that the requesting end expects to receive, a second response information descriptor is constructed and sent to the request information receiving module.

5. The response message processing system according to claim 4, characterized in that: The descriptor checking module is further used to send a completion signal according to the request target message, construct and send a corresponding response information descriptor, specifically: When the descriptor checking module receives the request target message sending completion signal, it constructs a first response information descriptor and sends it to the request control module.

6. The response message processing system according to claim 5, characterized in that: The descriptor checking module processes one response message descriptor at a time; After the descriptor checking module receives the request target message sending completion signal and sends the first response information descriptor, the descriptor checking module starts to process the next response information descriptor in sequence.

7. The response message processing system according to claim 1, characterized in that: Also includes: Bridge module; The bridge module is connected to the address reading module and the message construction module respectively; The bridging module is used to obtain the storage address of the message construction module; The bridge module is also used to send the request target message to the corresponding request end address.

8. A response message processing method, characterized in that: Applied to the response message processing system according to any one of claims 1 to 7, wherein the response message processing system comprises a message parsing module, a descriptor checking module, a request control module, a request information receiving module, an address reading module and a message construction module, and the method comprises: Utilizing the message parsing module, parsing the response message into response message data and a response message descriptor; Using the descriptor checking module, construct and send a corresponding response information descriptor according to the response message type, the queue pair status and the correctness of the response message descriptor; Utilizing the request control module, storing the request information of the request message, constructing and sending the request information descriptor according to the response information descriptor and the request information; Using the request information receiving module, construct and send a request transfer descriptor according to the request information descriptor and the response information descriptor; Using the address reading module, construct and send a request information address descriptor according to the request transfer descriptor and the storage address of the message construction module; Using the message construction module, construct and send a request target message according to the request information address descriptor and the response message data, and send a request target message sending completion signal to the descriptor checking module; The descriptor checking module is utilized to send a completion signal according to the request target message, and to construct and send a corresponding response information descriptor.

Citation Information

Patent Citations

  • Descriptor reading device and apparatus, method and integrated circuit

    CN115113977A

  • RDMA-based request device, response device and system

    CN119271589A

  • Hardware RDMA Transport Including New Hole and Received After a Hole Acknowledgements

    US20240311333A1