Communication verification method, platform and equipment and readable storage medium
By acquiring and simulating the stimulus signals and event-level information of the RDMA data path and generating reference data frames, the complexity and inefficiency of RDMA data path verification are solved, and efficient and accurate communication verification is achieved.
Patent Information
- Application Number
- CN202510900044.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-01
- Publication Date
- 2025-09-19
AI Technical Summary
The existing technology lacks an effective RDMA data path verification solution, which makes the verification work complicated and inefficient.
By obtaining the stimulus signal and event-level information corresponding to the event stimulus, simulating the remote direct memory access protocol stack to process the event-level information, generating a reference data frame, and converting the response signal of the device under test into a real data frame, the real data frame and the reference data frame are used for communication verification.
This achieves efficient and accurate verification of the RDMA data path, improves verification efficiency and accuracy, and reduces resource consumption.
Smart Images

Figure CN120675916A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a communication verification method, platform, device, and readable storage medium. Background Art
[0002] In the traditional TCP / IP (Transmission Control Protocol / Internet Protocol) network communication framework, data must be transmitted end-to-end within user space. This process not only results in significant latency and performance loss, but also suffers from limitations such as low resource utilization. Remote Direct Memory Access (RDMA) technology effectively addresses the drawbacks of traditional network communication methods like TCP / IP.
[0003] The RDMA communication mechanism builds an efficient bridge between the sender and receiver through an RDMA adapter. However, the high complexity and high speed of the RDMA data path pose unprecedented challenges to verification. Furthermore, there is currently no effective verification solution for the RDMA communication mechanism.
[0004] In summary, how to effectively solve problems such as verifying the RDMA data path is a technical problem that those skilled in the art urgently need to solve. Summary of the Invention
[0005] The purpose of this application is to provide a communication verification method, platform, device and readable storage medium that can effectively verify the RDMA data path.
[0006] To solve the above technical problems, this application provides the following technical solutions:
[0007] A communication verification method, comprising:
[0008] Acquire an excitation signal and event-level information corresponding to an event excitation, and send the excitation signal to a device under test that supports remote direct memory access;
[0009] simulating a remote direct memory access protocol stack to process the event-level information to obtain a reference data frame;
[0010] Acquire a response signal output by the device under test after processing the excitation signal, and convert the response signal to obtain a real data frame;
[0011] The real data frame and the reference data frame are used to perform communication verification on the device under test.
[0012] Preferably, simulating the remote direct memory access protocol stack to process the event-level information to obtain a reference data frame includes:
[0013] Determining whether the event-level information carries global information;
[0014] If yes, traverse and simulate the remote direct memory access protocol stack to process the event-level information to obtain the reference data frame;
[0015] If not, determining whether the event-level information carries core information;
[0016] If the core information is carried, locally simulating the remote direct memory access protocol stack to process the event-level information to obtain the reference data frame;
[0017] If the core information is not carried, an error message is output.
[0018] Preferably, traversing and simulating the remote direct memory access protocol stack to process the event-level information to obtain the reference data frame includes:
[0019] Processing the global information by traversing the test case to obtain the reference data frame;
[0020] The traversal test cases include test cases corresponding to initialization configuration, receiving access transactions, data path transmission behavior, state machine behavior and exception handling.
[0021] Preferably, locally simulating the remote direct memory access protocol stack to process the event-level information to obtain the reference data frame includes:
[0022] The core information is processed using a core test case to obtain the reference data frame; wherein the core test case is used to identify and match the core information, and assemble the reference data frame based on the core information.
[0023] Preferably, obtaining the stimulus signal and event-level information corresponding to the event stimulus includes:
[0024] Get sequence;
[0025] generating the event stimulus using the sequence;
[0026] Converting the event stimulus into the stimulus signal using an interface protocol that matches the hardware interface of the device under test;
[0027] The event-level information is extracted from the stimulus signal.
[0028] Preferably, it also includes:
[0029] Coverage is collected and used to optimize test cases; the test cases are used to simulate the remote direct memory access protocol stack to process the event-level information.
[0030] Preferably, performing communication verification on the device under test using the real data frame and the reference data frame includes:
[0031] comparing the real data frame with the reference data frame to see whether they are consistent;
[0032] If yes, determining that the device under test passes the communication verification;
[0033] If not, it is determined that the device under test fails the communication verification.
[0034] A communication verification platform, comprising:
[0035] A transaction generator, configured to obtain a stimulus signal and event-level information corresponding to an event stimulus, and send the stimulus signal to a device under test that supports remote direct memory access;
[0036] A reference model is used to simulate a remote direct memory access protocol stack to process the event-level information to obtain a reference data frame;
[0037] an output signal monitor, configured to obtain a response signal output by the device under test after processing the stimulus signal, and convert the response signal to obtain a real data frame;
[0038] A scoreboard is used to perform communication verification on the device under test using the real data frame and the reference data frame.
[0039] An electronic device, comprising:
[0040] Memory for storing computer programs;
[0041] A processor is configured to implement the steps of the above-mentioned communication verification method when executing the computer program.
[0042] A readable storage medium stores a computer program, which implements the steps of the above-mentioned communication verification method when executed by a processor.
[0043] Apply the method provided in the embodiments of the present application to obtain an excitation signal and event-level information corresponding to an event excitation, and send the excitation signal to a device under test that supports remote direct memory access; simulate the remote direct memory access protocol stack to process the event-level information to obtain a reference data frame; obtain a response signal output by the device under test after processing the excitation signal, and convert the response signal to obtain a real data frame; use the real data frame and the reference data frame to perform communication verification on the device under test.
[0044] In this application, in order to perform communication verification on a device under test that supports remote direct memory access, the excitation signal and event-level information corresponding to the event stimulus are first obtained. The excitation signal is sent directly to the device under test so that the device under test implements the remote direct memory access protocol stack to process the excitation signal and output a response signal. For the event-level information, the remote direct memory access protocol stack is directly simulated to process the event-level information to obtain a reference data frame. After obtaining the response signal output by the device under test, it is converted into a real data frame. Based on the real data frame and the reference data frame, communication verification of the device under test can be achieved.
[0045] As can be seen, in this embodiment, the event stimulus is converted into an stimulus signal and event-level information. On the one hand, the device under test processes the stimulus signal to obtain a response signal, and then converts the response signal to obtain a real data frame. On the other hand, by simulating the remote direct memory access protocol stack to process the event-level information, a reference data frame can be directly obtained. In other words, both the real data frame and the reference data frame are obtained by the remote direct memory access protocol stack processing the event stimulus. Therefore, based on the real data frame and the reference data frame, it is possible to determine whether the device under test has generated an accurate response signal to the response signal, thereby achieving communication verification of the device under test.
[0046] Correspondingly, the embodiments of the present application also provide a communication verification platform, a device and a readable storage medium corresponding to the above-mentioned communication verification method, which have the above-mentioned technical effects and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the following briefly introduces the drawings required for use in the embodiments or related technical descriptions. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0048] Figure 1 This is a flowchart of an implementation method of a communication verification method in an embodiment of the present application;
[0049] Figure 2 This is a schematic diagram of the structure of a communication verification platform in an embodiment of the present application;
[0050] Figure 3 This is a schematic diagram of the specific structure of a communication verification platform in an embodiment of the present application;
[0051] Figure 4 This is a specific implementation flow chart of a communication verification method in an embodiment of the present application;
[0052] Figure 5 This is a schematic structural diagram of an electronic device according to an embodiment of the present application;
[0053] Figure 6 This is a schematic diagram of the specific structure of an electronic device in an embodiment of the present application. DETAILED DESCRIPTION
[0054] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below in conjunction with the accompanying drawings and specific embodiments. Obviously, the embodiments described are only a part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without making any creative efforts are within the scope of protection of the present application.
[0055] For ease of understanding, the relevant terms are explained below.
[0056] RDMA: remote direct memory access, remote direct memory access, is a direct memory access technology that transfers data directly from the memory of one computer to another computer without the intervention of the operating systems of both computers.
[0057] reference model: reference model.
[0058] DUT: device under test.
[0059] MAC: Media Access Control, media access control, this address is used to define the location of the network device.
[0060] Sequence: Sequence, used to generate transactions.
[0061] Sequencer: helps seuqence generate transactions and eventually sends them to the driver.
[0062] Transaction: Transactions / events are used to pass data between validation components. These data typically include any information required to model the communication between the two validation components.
[0063] Driver: Driver, used to drive the operation of the entire verification platform.
[0064] Please refer to Figure 1 , Figure 1 This is a flow chart of a communication verification method according to an embodiment of the present application, which includes the following steps:
[0065] S101 : Acquire a stimulus signal and event-level information corresponding to an event stimulus, and send the stimulus signal to a device under test that supports remote direct memory access.
[0066] In RDMA, event stimulation refers to triggering related operations or notifications through specific events to achieve efficient data transmission and processing. Such event stimulation includes but is not limited to request event stimulation, completion queue event stimulation, and connection management event stimulation.
[0067] In the present application, in order to facilitate the generation of a reference data frame, in this embodiment, not only the excitation signal corresponding to the event excitation is obtained, but also its event-level information is obtained.
[0068] The stimulus signal converts the event stimulus into an electrical signal at the interface level of the device under test. Therefore, the stimulus signal can be directly sent to the device under test with remote direct memory access.
[0069] Event-level information, that is, event-level information about event excitation extracted from the excitation signal, is data content.
[0070] In a specific embodiment of the present application, obtaining the stimulus signal and event-level information corresponding to the event stimulus includes:
[0071] Get sequence;
[0072] Generate event incentives using sequences;
[0073] Convert event stimulus into stimulus signal using the interface protocol that matches the hardware interface of the device under test;
[0074] Extracting event-level information from stimulus signals.
[0075] For ease of description, the above steps are combined and explained below.
[0076] In this embodiment, event stimuli (transactions) can be generated based on sequences. The sequencer then sends these stimuli to the driver. The driver converts the event stimuli into interface-level stimulus signals for the device under test (DUT). A monitor then converts the stimulus signals into transaction-level information, extracting the event-level information from the electrical signal.
[0077] S102 , simulating a remote direct memory access protocol stack to process event-level information to obtain a reference data frame.
[0078] In this application, a reference model may be set up, which may simulate the behavior of a remote direct memory access protocol stack.
[0079] Specifically, after obtaining event-level information, it can be passed to the reference model. The reference model can then process the event-level information by simulating the behavior of the RDMA protocol stack to obtain a reference data frame. This reference data frame can be considered as the data frame corresponding to the correct response of the RDMA-capable device under test to the stimulus signal corresponding to the event-level information.
[0080] The reference data frame may specifically be a data frame sent to a MAC (Media Access Control, where the address is used to define the location of a network device) side (ie, a transaction result of the reference model processing event-level information).
[0081] In a specific embodiment of the present application, a remote direct memory access protocol stack is simulated to process event-level information to obtain a reference data frame, including:
[0082] Determine whether event-level information carries global information;
[0083] If yes, traverse the simulated remote direct memory access protocol stack to process the event-level information and obtain a reference data frame;
[0084] If not, determine whether the event-level information carries core information;
[0085] If core information is carried, the local simulation remote direct memory access protocol stack processes the event-level information to obtain a reference data frame;
[0086] If the core information is not carried, an error message will be output.
[0087] For ease of description, the above steps are combined and explained below.
[0088] Core information refers to the information carried by the basic message frame, that is, the data information related to network communication. Global information refers to RDMA-related link establishment information.
[0089] Specifically, the core information includes:
[0090] Source address and destination address: used to identify the sender and receiver of data, including information such as IP address and port number, to ensure that data frames can be correctly routed and transmitted to the target node in the network;
[0091] The specific implementation content of the network protocols corresponding to the data link layer (layer 2), network layer (layer 3), and transport layer (layer 4);
[0092] Payload information, that is, the actual valid data carried by the message during transmission and the final destination of the communication, such as operation instructions (WRITE, WRITE0, READ);
[0093] Data length: Indicates the number of bytes of the data part carried in the data frame, so that the receiving end can correctly parse the data and know how many bytes of data need to be read.
[0094] Global information, including:
[0095] Memory address: RDMA allows direct access to the memory of a remote node. The data frame contains the target memory address, indicating where the data should be stored or read from, thus implementing remote direct memory access.
[0096] Queue Pair ID (QP ID): RDMA manages data transfers through queue pairs, each with a unique ID. The QP ID in a data frame indicates the specific queue pair to which the frame should be sent or received, allowing for proper data transmission and reception.
[0097] CID (Connection ID) is a unique identifier used by the RDMA protocol to connect the local and remote devices.
[0098] In this embodiment, to meet different testing requirements, the reference model can be used to simulate RDMA to different degrees. For example, an efficient mode and a traversal mode can be set.
[0099] An arbitrator can be set up in the reference model to choose to enter different modes according to different situations. Specifically, the arbitrator can determine whether the event-level information carries global information. If it does, it will directly adopt the traversal mode, that is, traversing and simulating the complete behavior of the remote direct memory access protocol stack, processing the event-level information, and obtaining a reference data frame. If the event-level information does not carry global information but carries core information, it can enter the high-efficiency mode and perform a local simulation of the behavior of the remote direct memory access protocol stack. Of course, if the event-level information does not carry global information and there is no core information, an error message can be output.
[0100] Specifically, an efficient arbitration algorithm runs within the arbitrator. Its primary function is to intelligently select and switch between the reference model's operating modes (efficient mode or traversal mode) based on the information contained in the input transaction-level information. The arbitration algorithm's decision is based on a deep analysis of the input transaction, primarily dependent on the transaction type and verification scenario requirements. Based on the analysis results, predefined rules are applied to select the verification mode.
[0101] Taking an RDMA write transaction as an example, the arbitration algorithm is described. Its workflow includes:
[0102] Input transaction: The transaction generator generates an RDMA WRITE operation transaction;
[0103] Transaction analysis: The arbitration algorithm analyzes the transaction type as WRITE (which is a core message). It contains core information but does not provide information such as the queue pair (non-core information) required for chain establishment.
[0104] Mode selection: According to the arbitration rules, if the transaction is identified as requiring rapid identification and comparison of core information, the efficient mode is selected. According to the arbitration rules, if the transaction is identified as requiring traversal processing of global information, the traversal mode is selected.
[0105] Verification execution: The reference model processes only the core information in efficient mode (assembles a complete and valid data frame of the WRITE type based on the core information, that is, only fills the core information into the corresponding frame structure), obtains the reference data frame, and compares it with the DUT output (real data frame).
[0106] In a specific embodiment of the present application, the event-level information is processed by traversing the simulated remote direct memory access protocol stack to obtain a reference data frame, including:
[0107] Use traversal test cases to process global information and obtain reference data frames;
[0108] The traversal test cases include test cases corresponding to initialization configuration, receiving access transactions, data path transmission behavior, state machine behavior and exception handling.
[0109] In traversal mode, the entire RDMA protocol stack behavior needs to be simulated. Therefore, a sufficient number of traversal test cases can be pre-built to process global information and obtain reference data frames. Traversal test cases include at least test cases corresponding to initialization configuration, receiving access transactions, data path transmission behavior, state machine behavior, and exception handling.
[0110] That is, in traversal mode, the reference model must process all metadata and fully simulate the behavior of the RDMA protocol stack in the DUT, including:
[0111] 1. Initialize configuration, such as configuring queue pairs, buffers, connection information, and initializing registers.
[0112] 2. Receive input transactions, such as parsing transaction types, extracting transaction data, and converting interface signals.
[0113] 3. The complete behavior of data transmission in the channel, such as packet encapsulation, data transmission and data processing.
[0114] 4. State machine behavior, such as ensuring the consistency of data processing state initialization, state transition, and state verification in the state machine.
[0115] 5. Exception handling, such as exception detection reporting and error recovery.
[0116] This mode requires a massive number of test cases to cover every possible scenario. Furthermore, because the reference model must fully simulate the DUT's behavior, it must not only cover the data and configuration required for the verification path but also collect non-core data and configuration, such as near-end and far-end queue pair (QP) information. This mode exhaustively traverses every possible scenario in the data path, ensuring the reliability and comprehensiveness of the comparison results.
[0117] In a specific embodiment of the present application, a local simulated remote direct memory access protocol stack processes event-level information to obtain a reference data frame, including:
[0118] The core information is processed using core test cases to obtain a reference data frame; wherein the core test cases are used to identify and match the core information, and assemble the reference data frame based on the core information.
[0119] Specifically, when global information is missing but core information is present, only the core test cases can be used to assemble the core information, resulting in a reference data frame. Specifically, referring to the specific field composition and parameter settings of the data frame specified in the RDMA protocol, the values corresponding to the corresponding fields can be calculated based on the core information and written into the corresponding fields to obtain a data frame that can be transmitted over the network. This data frame is the reference data frame.
[0120] In high-efficiency mode, the reference model only needs to collect the core information required for message frames entering the MAC (Media Access Control) side, such as key data fields, control signals, and necessary metadata. By applying independently developed intelligent algorithms, this mode can quickly identify and match key information such as sequence numbers and checksums in data frames, and efficiently compare the assembled reference message frames with the actual message frames output by the DUT. In this mode, all basic functional points of the RDMA data path can be effectively covered with fewer test cases and extremely low latency performance, which not only greatly improves verification efficiency and significantly reduces resource consumption, but also ensures verification accuracy and coverage.
[0121] S103 , obtaining a response signal output by the device under test after processing the excitation signal, and converting the response signal to obtain a real data frame.
[0122] The response signal may be an electrical signal corresponding to the data frame sent to the MAC, wherein the electrical signal is a transaction result in the form of an electrical signal obtained after the device under test performs transaction processing on the stimulus signal.
[0123] In this embodiment, the device under test responds to the stimulus signal. Specifically, this response processing implements the RMDA protocol stack. After receiving the response signal, it can be converted into data content to facilitate subsequent comparison, resulting in a true data frame (i.e., the transaction result in the form of a data message).
[0124] S104: Use the real data frame and the reference data frame to perform communication verification on the device under test.
[0125] The reference data frame can be used as a data frame extracted / converted from the response signal generated by the DUT's completely correct processing of the stimulus signal. Therefore, after obtaining the real data frame and the reference data frame, they can be used to verify communication with the DUT. Specifically, the differences between the two can be compared to determine whether the DUT is functioning properly in RDMA communication.
[0126] In a specific embodiment of the present application, using real data frames and reference data frames to perform communication verification on the device under test includes:
[0127] Compare the real data frame with the reference data frame to see if they are consistent;
[0128] If yes, it is determined that the device under test passes the communication verification;
[0129] If not, it is determined that the device under test has failed the communication verification.
[0130] For ease of description, the above steps are combined and explained below.
[0131] In this embodiment, after acquiring real data frames and parameter data frames, a scoreboard can be used to verify communication with the device under test based on the real data frames and parameter data frames. The scoreboard is a tool or concept used to quantify and intuitively display various performance indicators and test results. It can present complex technical data in a concise and clear manner, helping engineers and researchers quickly understand the performance of a system or device.
[0132] That is, the scoreboard can determine whether the device under test passes the communication verification by comparing the actual data frame with the reference data frame to see if they are consistent.
[0133] In practical applications, the scoreboard can include a corresponding cache space for storing real data frames and reference data frames. Because the reference model takes a relatively short time to output reference data frames, while the DUT requires hardware processing and other factors to output its response signal, the scoreboard takes a relatively long time to obtain the corresponding real data frames. Data frame comparison requires comparing the real and reference data frames corresponding to the same stimulus event. Therefore, to eliminate issues such as inconsistent reception times, the first received data frame (reference or real data frame) can be stored in the cache space. Once both the reference and real data frames corresponding to the same stimulus event are available, the comparison can be performed. Of course, to improve efficiency during testing, different event stimuli can be continuously generated and delivered to the DUT and reference model, respectively. Therefore, parallel threads can be used to accelerate data frame comparison.
[0134] In a specific embodiment of the present application, it also includes:
[0135] Collect coverage and use it to optimize test cases; test cases are used to simulate the remote direct memory access protocol stack to process event-level information.
[0136] That is, in order to make the test more comprehensive, the coverage of the test can also be collected to optimize the test cases. Among them, the test cases are use cases in the reference model used to simulate the remote direct memory access protocol stack processing event-level information.
[0137] After verification results are obtained, they can be fed back to the arbitration algorithm to optimize subsequent decisions. For example, if the device under test fails verification in core mode, further global testing will be performed to identify any anomalies.
[0138] Apply the method provided in the embodiments of the present application to obtain an excitation signal and event-level information corresponding to an event excitation, and send the excitation signal to a device under test that supports remote direct memory access; simulate the remote direct memory access protocol stack to process the event-level information to obtain a reference data frame; obtain a response signal output by the device under test after processing the excitation signal, and convert the response signal to obtain a real data frame; use the real data frame and the reference data frame to perform communication verification on the device under test.
[0139] In this application, in order to perform communication verification on a device under test that supports remote direct memory access, the excitation signal and event-level information corresponding to the event stimulus are first obtained. The excitation signal is sent directly to the device under test so that the device under test implements the remote direct memory access protocol stack to process the excitation signal and output a response signal. For the event-level information, the remote direct memory access protocol stack is directly simulated to process the event-level information to obtain a reference data frame. After obtaining the response signal output by the device under test, it is converted into a real data frame. Based on the real data frame and the reference data frame, communication verification of the device under test can be achieved.
[0140] As can be seen, in this embodiment, the event stimulus is converted into an stimulus signal and then event-level information. On the one hand, the device under test processes the stimulus signal to obtain a response signal, and then converts the response signal to obtain a real data frame. On the other hand, by simulating the remote direct memory access protocol stack to process the event-level information, a reference data frame can be directly obtained. In other words, both the real data frame and the reference data frame are obtained by the remote direct memory access protocol stack processing the event stimulus. Therefore, based on the real data frame and the reference data frame, it is possible to determine whether the device under test has generated an accurate response signal to the response signal, thereby achieving communication verification of the device under test.
[0141] It should be noted that, based on the above embodiments, the embodiments of the present application also provide corresponding improved solutions. In the preferred / improved embodiments, the same steps or corresponding steps as those in the above embodiments can be referenced to each other, and the corresponding beneficial effects can also be referenced to each other, and will not be described in detail in the preferred / improved embodiments of this document.
[0142] In a specific embodiment of the present application, obtaining a sequence includes:
[0143] Get current test requirement information;
[0144] Determine the test mode using the test requirement information; the test model includes an efficient mode and a traversal mode. The sequence matching the traversal mode corresponds to the global information required for the message frame entering the media access control side, and the sequence matching the efficient mode corresponds to the core information required for the message frame entering the media access control side.
[0145] From the candidate sequences, a sequence matching the test pattern is selected.
[0146] For ease of description, the above steps are combined and explained below.
[0147] Because different modes can be set within the reference model, varying degrees of RDMA protocol stack behavior simulation can be achieved. In practical applications, an arbitrator within the reference model can identify the content of event-level information to determine which mode to enter. Therefore, in this embodiment, the origin of event-level information can be regulated.
[0148] Specifically, event-level information is obtained by converting the stimulus signal, and the stimulus signal is generated by the stimulus event, and the stimulus event is generated based on the sequence. Therefore, in this embodiment, the sequence can be preset, and the content information corresponding to the sequence can be set differently, that is, a part of the sequence corresponds only to the core information, and the one-step sequence corresponds to the global information. After obtaining the current test requirement information, the test mode can be clarified based on the current test requirement information, such as the efficient mode or the traversal mode. Then, a sequence that matches the test mode is selected from the corresponding matching sequences. In this way, it is possible to control from the source whether the current test is in efficient mode or traversal mode.
[0149] Corresponding to the above method embodiment, the embodiment of the present application further provides a communication verification platform. The communication verification platform described below and the communication verification method described above can refer to each other.
[0150] See also Figure 2 As shown, the communication verification platform includes:
[0151] The transaction generator 100 is used to obtain a stimulus signal and event-level information corresponding to an event stimulus, and send the stimulus signal to a device under test that supports remote direct memory access;
[0152] Reference model 200 is used to simulate the remote direct memory access protocol stack to process event-level information and obtain a reference data frame;
[0153] The output signal monitor 300 is used to obtain the response signal output by the device under test after processing the stimulus signal, and convert the response signal to obtain a real data frame;
[0154] The scoreboard 400 is used to perform communication verification on the device under test using real data frames and reference data frames.
[0155] Apply the communication verification platform provided in the embodiment of the present application to obtain the excitation signal and event-level information corresponding to the event stimulus, and send the excitation signal to the device under test that supports remote direct memory access; simulate the remote direct memory access protocol stack to process the event-level information to obtain a reference data frame; obtain the response signal output by the device under test after processing the excitation signal, and convert the response signal to obtain a real data frame; use the real data frame and the reference data frame to perform communication verification on the device under test.
[0156] In this application, in order to perform communication verification on a device under test that supports remote direct memory access, the excitation signal and event-level information corresponding to the event stimulus are first obtained. The excitation signal is sent directly to the device under test so that the device under test implements the remote direct memory access protocol stack to process the excitation signal and output a response signal. For the event-level information, the remote direct memory access protocol stack is directly simulated to process the event-level information to obtain a reference data frame. After obtaining the response signal output by the device under test, it is converted into a real data frame. Based on the real data frame and the reference data frame, communication verification of the device under test can be achieved.
[0157] As can be seen, in this embodiment, the event stimulus is converted into an stimulus signal and then event-level information. On the one hand, the device under test processes the stimulus signal to obtain a response signal, and then converts the response signal to obtain a real data frame. On the other hand, by simulating the remote direct memory access protocol stack to process the event-level information, a reference data frame can be directly obtained. In other words, both the real data frame and the reference data frame are obtained by the remote direct memory access protocol stack processing the event stimulus. Therefore, based on the real data frame and the reference data frame, it is possible to determine whether the device under test has generated an accurate response signal to the response signal, thereby achieving communication verification of the device under test.
[0158] In a specific embodiment of the present application, the reference model includes:
[0159] The arbitrator is used to determine whether the event-level information carries global information; if not, it determines whether the event-level information carries core information. If not, it outputs an error message;
[0160] A traversal module is used to traverse the simulated remote direct memory access protocol stack to process the event-level information if the event-level information carries global information, and obtain a reference data frame;
[0161] An efficient module is used to locally simulate the remote direct memory access protocol stack to process the event-level information if the event-level information does not carry global information but carries core information to obtain a reference data frame.
[0162] In a specific embodiment of the present application, the traversal module is specifically used to process the global information using the traversal test case to obtain a reference data frame;
[0163] The traversal test cases include: test cases corresponding to initialization configuration, receiving access transactions, data path transmission behavior, state machine behavior and exception handling.
[0164] In a specific embodiment of the present application, the efficient module is used to process the core information using the core test case to obtain a reference data frame; wherein the core test case is used to identify and match the core information, and assemble the reference data frame based on the core information.
[0165] In a specific embodiment of the present application, the transaction generator includes:
[0166] Sequence module, used to obtain sequences and use sequences to generate event incentives;
[0167] A driver, configured to convert an event stimulus into a stimulus signal using an interface protocol that matches the hardware interface of the device under test;
[0168] Input signal monitor, used to extract event-level information from stimulus signals.
[0169] In a specific embodiment of the present application, the sequence module is specifically used to obtain current test requirement information; determine the test mode using the test requirement information; the test model includes an efficient mode and a traversal mode, the sequence matching the traversal mode corresponds to the global information required for entering the media access control side message frame, and the sequence matching the efficient mode corresponds to the core information required for entering the media access control side message frame; from the candidate sequences, a sequence matching the test mode is selected.
[0170] In a specific implementation of the present application, it is also used to collect coverage and use the coverage to optimize test cases; the test cases are used to simulate the remote direct memory access protocol stack to process event-level information.
[0171] In a specific embodiment of the present application, the scoreboard is specifically used to compare whether the real data frame is consistent with the reference data frame; if so, it is determined that the device under test has passed the communication verification; if not, it is determined that the device under test has failed the communication verification;
[0172] To facilitate those skilled in the art to understand and implement the communication verification platform provided by this application, the communication verification platform is described below with reference to a specific application scenario as an example.
[0173] Please refer to Figure 3 ,In actual applications, the driver of the transaction generator of the ,communication verification platform is connected to the interface of the ,device under test, and the response signal of the device under test ,is connected to the output signal monitor in the ,communication verification platform.
[0174] The input signal monitor in the transaction generator is connected to the arbitrator in the reference model, the output of the reference model is connected to the scoreboard, and the output side of the output signal monitor is connected to the scoreboard.
[0175] The communication verification method provided in the embodiment of the present application can be implemented on a communication verification platform, such as Figure 4 That is, the purpose of this application is to provide a verification method and platform for RDMA data paths, so as to solve the technical problem that the current RDMA data paths lack a flexible, available, and highly accurate verification platform.
[0176] To solve this technical problem, the concept of Dual-Mode Reference Model in the RDMA verification process was introduced, and a verification platform was constructed, which integrated a precisely designed framework to verify the RDMA data path.
[0177] Specifically, a sequencer generates transaction stimuli, which are then sent to the driver through the sequencer. The driver converts the transaction data into DUT interface-level stimuli signals and drives them to the DUT. The monitor (input monitor) collects DUT port data (stimulus signals) and converts them into transaction-level information for processing by the reference model. The sequencer, driver, and monitor on the input side can be encapsulated in an agent for easy management and modification.
[0178] As a core component of the verification process, the reference model is used to simulate the functionality of the device under test (DUT). It is a high-level abstract model that accurately simulates the expected output of the DUT under specific input conditions. In RDMA data path verification, the reference model simulates the behavior of the RDMA protocol stack, including the encapsulation, transmission, reception, and processing of data packets. The outputs of both the reference model and the DUT are received and compared by a scoreboard, and the verification results are statistically output. In RDMA data path verification, the comparison of the outputs of the reference model and the DUT focuses on the packet header, payload, control signals, status information, and timing. The purpose of the reference model is to ensure the functional correctness and expected performance of the DUT.
[0179] This verification platform can not only successfully perform RDMA data path verification tasks, but also has high scalability and flexibility. Since the platform defines standardized interface protocols such as transaction interface, packet interface, and configuration interface, in the process of subsequent additions or modifications to the platform, by modifying reference models, input and output agents and other components according to the needs of different scenarios, corresponding components in the platform can be replaced or updated. This can easily adapt to the verification requirements of different RDMA devices and meet the challenges of diverse application scenarios.
[0180] On this basis, this application proposes a reference model of a dual-function mode, which can automatically arbitrate and process the required information according to specific verification scenarios and requirements.
[0181] To achieve this goal, an efficient arbitration algorithm is provided. Its main function is to intelligently select and switch the reference model's operating mode (efficient mode or traversal mode) based on the information carried by the input transaction. The arbitration algorithm's decision is based on a deep analysis of the input transaction, primarily depending on the transaction type and verification scenario requirements. Based on the analysis results, predefined rules are applied to select the verification mode. The arbitration algorithm workflow is illustrated using an RDMA write transaction as an example:
[0182] 1. Input transaction: The transaction generator generates an RDMA WRITE operation transaction;
[0183] 2. Transaction analysis: The arbitration algorithm analyzes the transaction type as WRITE (core information). It contains comprehensive core information but does not provide information such as the queue pair required for chain establishment (not core information).
[0184] 3. Mode selection: Based on the arbitration rules, if the transaction requires rapid identification and comparison of core information, select the efficient mode. If the transaction-level information does not meet the requirements of the efficient mode or the traversal mode, an error message will be output.
[0185] 4. Verification execution: The reference model processes only the core information in efficient mode and compares it with the DUT output;
[0186] 5. Dynamic switching: If a packet checksum error is detected, switch to traversal mode;
[0187] 6. Result feedback: Feedback the verification results to the arbitration algorithm to optimize subsequent decisions.
[0188] In high-efficiency mode, the reference model only needs to collect the core information required for message frames entering the MAC (Media Access Control) side, such as key data fields, control signals, and necessary metadata. By applying independently developed intelligent algorithms, this mode can quickly identify and match key information such as sequence numbers and checksums in data frames, and efficiently compare the assembled message frames with the message frames output by the DUT. In this mode, all basic functional points of the RDMA data path can be effectively covered with fewer test cases and extremely low latency performance, greatly improving verification efficiency and significantly reducing resource consumption, while also ensuring verification accuracy and coverage.
[0189] In traversal mode, the reference model processes all metadata and fully simulates the DUT's behavior. Specifically, it performs the following: 1. Initialization configuration, such as configuring queue pairs, buffers, connection information, and register initialization; 2. Receiving input transactions, such as parsing transaction types, extracting transaction data, and converting interface signals; 3. Complete data transmission behavior within the data path, such as packet encapsulation, data transmission, and data processing; 4. State machine behavior, such as ensuring consistency during state initialization, state transitions, and state verification; and 5. Exception handling, such as anomaly detection reporting and error recovery. This mode requires a large number of test cases to cover a wide range of possible scenarios. Furthermore, since the reference model fully simulates the DUT's behavior, it not only covers the data and configuration required for the verification path, but also collects non-core data and configuration, such as near-end and far-end queue pair (QP) information. This mode exhaustively traverses all possible scenarios within the data path, ensuring the reliability and comprehensiveness of the comparison results.
[0190] It can be seen that the communication verification platform provided by this application has the following technical effects:
[0191] (1) This communication verification platform can adapt to the verification requirements of different RDMA devices. The highly integrated verification platform makes it easier to manage and maintain. At the same time, the scalability of the platform has been significantly improved. By replacing or updating components, it can easily adapt to the verification requirements of different RDMA devices.
[0192] (2) The dual-modal reference model in this communication verification platform provides a new approach to RDMA data path verification. The dual-modal reference model can intelligently switch to efficient mode or traversal mode according to specific verification scenarios and requirements. In efficient mode, the functional points of the data path can be effectively covered with very few test cases; in traversal mode, various situations that may occur in RDMA technology can be covered in detail, eliminating the influence of other paths. The integration of the two modes achieves high flexibility and accuracy in the verification process.
[0193] (3) The intelligent arbitration algorithm in this communication verification platform makes the verification process more automated and intelligent. To support the efficient operation of the dual-modal reference model, an efficient arbitration algorithm is provided. This algorithm can deeply analyze the input transaction information, intelligently judge and switch to the appropriate verification mode, greatly improving the verification efficiency and accuracy.
[0194] In summary, this application, by leveraging a dual-modal reference model and a series of signal processing operations, not only significantly improves the accuracy and efficiency of RDMA data path verification, but also gives the verification platform unprecedented flexibility and adaptability.
[0195] Corresponding to the above method embodiment, an embodiment of the present application further provides an electronic device. The electronic device described below and the communication verification method described above can refer to each other.
[0196] See also Figure 5 As shown, the electronic device includes:
[0197] Memory 332, for storing computer programs;
[0198] The processor 322 is configured to implement the steps of the communication verification method of the above method embodiment when executing a computer program.
[0199] For details, please refer to Figure 6 , Figure 6 This is a schematic diagram of the specific structure of an electronic device provided in this embodiment. This electronic device may vary significantly due to different configurations or performance. It may include one or more central processing units (CPUs) (for example, one or more processors) and memory 332. The memory 332 stores one or more computer programs 342 or data 344. The memory 332 may be temporary storage or permanent storage. The program stored in the memory 332 may include one or more modules (not shown), each of which may include a series of instruction operations in the data processing device. Furthermore, the processor 322 may be configured to communicate with the memory 332 to execute the series of instruction operations in the memory 332 on the electronic device 301.
[0200] The electronic device 301 may further include one or more power supplies 326 , one or more wired or wireless network interfaces 350 , one or more input / output interfaces 358 , and / or one or more operating systems 341 .
[0201] The steps in the communication verification method described above can be implemented by the structure of an electronic device.
[0202] Corresponding to the above method embodiment, an embodiment of the present application further provides a readable storage medium. The readable storage medium described below and the communication verification method described above can refer to each other.
[0203] A readable storage medium stores a computer program, which, when executed by a processor, implements the steps of the communication verification method of the above method embodiment.
[0204] The readable storage medium may specifically be any readable storage medium capable of storing program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0205] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from the other embodiments. References to the same or similar parts between the various embodiments are sufficient. The platform disclosed in the embodiments is described briefly because it corresponds to the method disclosed in the embodiments. For relevant details, refer to the method description.
[0206] Those skilled in the art may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0207] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein may be implemented directly using hardware, a software module executed by a processor, or a combination of the two. The software module may be placed in random access memory (RAM), internal memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
[0208] Finally, it should be noted that, in this document, relationships such as first and second, etc., are used solely to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms include, comprise, or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that includes a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus.
[0209] This document uses specific examples to illustrate the principles and implementation methods of this application. The description of the above embodiments is only used to help understand the method and core ideas of this application. At the same time, for those skilled in the art, based on the ideas of this application, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as limiting this application.
Claims
1. A communication verification method, characterized in that: include: Acquire an excitation signal and event-level information corresponding to an event excitation, and send the excitation signal to a device under test that supports remote direct memory access; simulating a remote direct memory access protocol stack to process the event-level information to obtain a reference data frame; Acquire a response signal output by the device under test after processing the excitation signal, and convert the response signal to obtain a real data frame; The real data frame and the reference data frame are used to perform communication verification on the device under test.
2. The method according to claim 1, characterized in that The remote direct memory access protocol stack is simulated to process the event-level information to obtain a reference data frame, including: Determining whether the event-level information carries global information; If yes, traverse and simulate the remote direct memory access protocol stack to process the event-level information to obtain the reference data frame; If not, determining whether the event-level information carries core information; If the core information is carried, locally simulating the remote direct memory access protocol stack to process the event-level information to obtain the reference data frame; If the core information is not carried, an error message is output.
3. The method according to claim 2, characterized in that Traversing and simulating the remote direct memory access protocol stack to process the event-level information to obtain the reference data frame, including: Processing the global information by traversing the test case to obtain the reference data frame; The traversal test cases include test cases corresponding to initialization configuration, receiving access transactions, data path transmission behavior, state machine behavior and exception handling.
4. The method according to claim 2, characterized in that Locally simulating the remote direct memory access protocol stack to process the event-level information to obtain the reference data frame, including: The core information is processed using a core test case to obtain the reference data frame; wherein the core test case is used to identify and match the core information, and assemble the reference data frame based on the core information.
5. The method according to claim 1, wherein Get the stimulus signal and event-level information corresponding to the event stimulus, including: Get sequence; generating the event stimulus using the sequence; Converting the event stimulus into the stimulus signal using an interface protocol that matches the hardware interface of the device under test; The event-level information is extracted from the stimulus signal.
6. The method according to claim 1, characterized in that Also includes: Coverage is collected and used to optimize test cases; the test cases are used to simulate the remote direct memory access protocol stack to process the event-level information.
7. The method according to any one of claims 1 to 6, characterized in that Performing communication verification on the device under test using the real data frame and the reference data frame includes: comparing the real data frame with the reference data frame to see whether they are consistent; If yes, determining that the device under test passes the communication verification; If not, it is determined that the device under test fails the communication verification.
8. A communication verification platform, characterized in that: include: A transaction generator, configured to obtain a stimulus signal and event-level information corresponding to an event stimulus, and send the stimulus signal to a device under test that supports remote direct memory access; A reference model is used to simulate a remote direct memory access protocol stack to process the event-level information to obtain a reference data frame; an output signal monitor, configured to obtain a response signal output by the device under test after processing the stimulus signal, and convert the response signal to obtain a real data frame; A scoreboard is used to perform communication verification on the device under test using the real data frame and the reference data frame.
9. An electronic device, characterized in that: include: Memory for storing computer programs; A processor, configured to implement the steps of the communication verification method according to any one of claims 1 to 7 when executing the computer program.
10. A readable storage medium, characterized in that: The readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the communication verification method according to any one of claims 1 to 7 are implemented.
Citation Information
Cited By
RoCEv2 network card protocol stack direct connection test method and device
CN121333978A