Sampling detection method for PCIE big data transmission correctness

By defining packet transmission rules and formats in PCIE data transmission, generating and inserting verification data blocks, real-time integrity detection of high-speed data is achieved, solving the problem that equipment is difficult to detect faults independently, and improving the reliability and stability of data transmission.

CN119597516APending Publication Date: 2025-03-11GUANGDONG NANFANG SPACEPORT TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411313094.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-20
Publication Date
2025-03-11

AI Technical Summary

Technical Problem

The prior art cannot detect the integrity of high-speed data after being sent from peripherals to CPU in real time, making it difficult for the device to independently detect faults.

Method used

By defining the transmission rules and format of each data packet between the data sender and the data receiver, the sender generates a verification data block and inserts a verification data block into the data packet, and the receiver extracts the verification data block for detection.

Benefits of technology

Real-time integrity detection of high-speed data is realized, ensuring that the equipment can independently discover and resolve faults, and improving the reliability and stability of data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119597516A_ABST
    Figure CN119597516A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of PCIE (Peripheral Component Interface Express) data transmission, in particular to a PCIE big data transmission correctness sampling detection method, which comprises the following steps of: defining a transmission rule and a format of each data packet between a data sender and a data receiver, generating a verification data block by the sender based on a verification method and the size of the verification data block, and sending the verification data block to the data receiver. Based on the size of the data packet, the initial position of the check data block inserted into each data packet, the interval of the inserted check data block and the size of the check data block, filling the data packet by a sender according to the format of the data packet; based on a verification method, the size of a verification data block, the size of a data packet, the initial position of inserting the verification data block into each data packet and the interval of inserting the verification data block, a receiver extracts the verification data blocks for detection, so that the problem that the integrity of high-speed data after being sent to a CPU (Central Processing Unit) from a peripheral cannot be detected in real time in the prior art can be solved; and the equipment is difficult to autonomously discover faults.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of PCIE data transmission, and in particular to a sampling detection method for correctness of PCIE large data transmission. Background Art

[0002] PCIE is a high-speed serial computer expansion bus standard used to connect external devices on a computer motherboard. Due to its characteristics, PCIE is widely used in various high-performance computing scenarios, such as data centers, artificial intelligence and other fields.

[0003] The data transmission rate of the multi-channel PCIE interface can be as high as 120GB per second or even higher. At such a high rate, it is a great challenge to perform real-time detection of the correctness of the transmitted data packets, the correctness and stability of the data link. The existing method cannot detect the integrity of high-speed data in real time after it is sent from the peripheral to the CPU, making it difficult for the device to detect faults autonomously. Summary of the invention

[0004] The purpose of the present invention is to provide a sampling detection method for the correctness of PCIE large data transmission, aiming to solve the technical problem that the existing methods in the prior art cannot detect the integrity of high-speed data after it is sent from a peripheral to a CPU in real time, making it difficult for the device to autonomously discover faults.

[0005] To achieve the above object, the present invention adopts a sampling detection method for the correctness of PCIE large data transmission, comprising:

[0006] Based on the definition of transmission rules and formats of each data packet between the data sender and the data receiver;

[0007] Based on the verification method and the verification data block size, the sender generates a verification data block;

[0008] The sender fills the data packet according to the data packet format based on the data packet size, the starting position of the verification data block inserted in each data packet, the interval of inserting the verification data block, and the verification data block size;

[0009] Based on the verification method, the size of the verification data block, the size of the data packet, the starting position of the verification data block inserted in each data packet, and the interval between the verification data blocks, the receiver extracts the verification data block for detection.

[0010] The data packet filled by the sender according to the data packet format should include the following definitions:

[0011] Each data packet needs to be assigned a sequence number;

[0012] Each data packet includes several payload data, and each payload data carries a check data block. If the interval is 0, the data packet is filled with the check data block. The check data block starts from start position = 0, and the interval is 0. The size of the check data block is negotiated by the sender and the receiver. This configuration is used for self-testing of the device.

[0013] The specific method for the receiver to extract the verification data block for detection is:

[0014] The receiver calculates the number of check data blocks N in the data packet: N = data packet size / (check data block size + interval);

[0015] The receiver extracts m check data blocks from 0-N according to the sampling ratio f, m = f*N;

[0016] If the verification method is independent of the payload data, the receiver verifies whether the value or content of the extracted verification data block is correct according to the algorithm or rule defined by the sender and receiver and the packet sequence number of the current data packet. The expected value or content of the ith verification data block in the data packet is deduced according to the algorithm or rule: expectedValue = function. If the expected value of the ith verification data block is not equal to its received value, the data packet is determined to be incorrect.

[0017] If the verification method is payload data, the value of the verification data block is calculated based on the payload data. The specific method is: when the receiver extracts the i-th verification data block, it also obtains the payload data on which it depends, and calculates the verification value of the dependent payload data according to the negotiated verification algorithm. If the value of the i-th verification data block received is not equal to the calculated value, the receiver determines that the data packet is incorrect.

[0018] When there are multiple senders, the receiver samples and detects the data packets from each sender respectively.

[0019] When the receiving party extracts m check data blocks from 0-N according to the sampling ratio f, m = f*N;

[0020] When f is 1, all check data blocks are detected;

[0021] When f is 0, no check data block is detected;

[0022] When f is other values, a simple random sampling method or a systematic sampling method is used to extract a set of calibration data block sample points from 0-N.

[0023] The present invention discloses a sampling detection method for the correctness of PCIE large data transmission. The transmission rule and format of each data packet are defined between a data sender and a data receiver. The sender generates a verification data block based on a verification method and a verification data block size. The sender fills the data packet according to the data packet format based on the data packet size, the starting position of inserting the verification data block in each data packet, the interval of inserting the verification data block, and the verification data block size. The receiver extracts the verification data block for detection based on the verification method, the verification data block size, the data packet size, the starting position of inserting the verification data block in each data packet, and the interval of inserting the verification data block. In this way, the technical problem that the existing method in the prior art cannot detect the integrity of high-speed data after it is sent from a peripheral device to a CPU in real time, resulting in difficulty for the device to autonomously discover faults, can be solved. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] In order to more clearly illustrate the embodiments of the present invention 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 of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0025] Figure 1 It is a flow chart of the steps of the sampling detection method for the correctness of PCIE large data transmission of the present invention. DETAILED DESCRIPTION

[0026] Embodiments of the present invention are described in detail below. Examples of the embodiments are shown in the accompanying drawings. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present invention, but should not be construed as limiting the present invention.

[0027] See also Figure 1 , Figure 1 It is a flow chart of the steps of the sampling detection method for the correctness of PCIE large data transmission of the present invention.

[0028] The present invention provides a sampling detection method for the correctness of PCIE large data transmission, comprising the following steps:

[0029] S101, defining a transmission rule and format of each data packet between a data sender and a data receiver;

[0030] For this specific implementation, the data packet format includes payload data and check data, wherein the payload data is the check data of the service data actually transmitted, and the check data is the added redundant information used to determine whether the data packet is correct;

[0031] S102, based on the verification method and the verification data block size, the sender generates a verification data block;

[0032] For this specific implementation, there are two types of generation methods on the sender side, and there are two corresponding types of detection methods on the receiver side, and the two groups of methods are: 1. Independent of the payload data. In this mode, the check data block is generated by an algorithm (rule) agreed upon by the sender and the receiver; for example: the size of the check data block is set to 4 bytes, it is regarded as an integer number without matching, the check data block is assigned from 0, and the value of the current check data block = the value of the previous check data block + 1; 2. Based on the payload data. In this mode, the content of the check data block depends on the content of the payload data; typically, the CRC of the payload data is calculated and the CRC is filled into the check data block.

[0033] S103, the sender fills the data packet according to the data packet format based on the data packet size, the starting position of each data packet for inserting the check data block, the interval for inserting the check data block, and the check data block size;

[0034] According to this specific implementation method, when filling a data packet, a sequence number should be assigned to each packet. The sequence number can be written into the data packet, or it can be an implicit sequence number after synchronization between the sender and the receiver. Each data packet includes a number of payload data, and each payload data carries a check data block. In each data packet, the payload data is filled in the position of the non-check data block.

[0035] At the same time, if it is necessary to fill the entire data packet with the check data block, such as: if the interval is 0, the data packet is fully filled with the check data block, the check data block starts to be filled from startposition=0, the interval is 0, and the size of the check data block is negotiated by the sender and the receiver. This configuration can be used for device self-testing (device self-test).

[0036] S104: Based on the verification method, the size of the verification data block, the size of the data packet, the starting position of the verification data block inserted in each data packet, and the interval of the verification data block inserted, the receiver extracts the verification data block for detection.

[0037] According to this specific implementation, the receiving party extracts m check data blocks from 0-N according to the sampling ratio f, where m=f*N;

[0038] If the verification method is independent of the payload data, the receiver verifies whether the value or content of the extracted verification data block is correct according to the algorithm or rule defined by the sender and receiver and the packet sequence number of the current data packet. The expected value or content of the ith verification data block in the data packet is deduced according to the algorithm or rule: expectedValue = function. If the expected value of the ith verification data block is not equal to its received value, the data packet is determined to be incorrect.

[0039] If the verification method is payload data, the value of the verification data block is calculated based on the payload data. Specifically, when the receiver extracts the ith verification data block, it also obtains the payload data it depends on, and calculates the verification value of the payload data it depends on according to the negotiated verification algorithm. If the value of the ith verification data block received is not equal to the calculated value, the receiver determines that the data packet is incorrect.

[0040] In addition, due to the continuous and high-speed data packet input, the receiver can continuously perform sampling, detection, and statistics. According to different sampling methods, the accuracy and stability of the transceiver link can be estimated in real time;

[0041] For example: simple random sampling, let the total number of check data blocks extracted in a certain period of time be n, the total number of check data blocks in this period of time be N, and the number of error check data blocks in this period of time be a, then the proportion of correct check data blocks is estimated to be P = (na) / n, the variance V(P) = P(1-P) / N(Nn) / (N-1), and the standard deviation is obtained from the variance = √(V(P)). Therefore, the accuracy of the link between the sender and the receiver is: P, and the stability is: standard deviation = √(V(P)).

[0042] A sampling detection method for the correctness of PCIE large data transmission using the present embodiment is used. When it is used specifically, the transmission rules and format of each data packet are defined between the data sender and the data receiver. The sender generates a verification data block based on the verification method and the verification data block size. Moreover, based on the data packet size, the starting position of inserting the verification data block in each data packet, the interval of inserting the verification data block, and the verification data block size, the sender fills the data packet according to the data packet format. Based on the verification method, the verification data block size, the data packet size, the starting position of inserting the verification data block in each data packet, and the interval of inserting the verification data block, the receiver extracts the verification data block for detection. In this way, the technical problem that the existing method in the prior art cannot detect the integrity of high-speed data after it is sent from the peripheral device to the CPU in real time, resulting in difficulty for the device to autonomously discover faults, can be solved.

[0043] The following table shows examples of transmission rules:

[0044]

[0045] What is disclosed above is only a preferred embodiment of the present invention, and it certainly cannot be used to limit the scope of rights of the present invention. Ordinary technicians in this field can understand that all or part of the processes of the above embodiment and equivalent changes made according to the claims of the present invention still fall within the scope of the invention.

Claims

1. A sampling detection method for the correctness of PCIE large data transmission, characterized in that: include: Based on the definition of transmission rules and formats of each data packet between the data sender and the data receiver; Based on the verification method and the verification data block size, the sender generates a verification data block; The sender fills the data packet according to the data packet format based on the data packet size, the starting position of the verification data block inserted in each data packet, the interval of inserting the verification data block, and the verification data block size; Based on the verification method, the size of the verification data block, the size of the data packet, the starting position of the verification data block inserted in each data packet, and the interval between the verification data blocks, the receiver extracts the verification data block for detection.

2. The sampling detection method for correctness of PCIE large data transmission according to claim 1, characterized in that: The data packet filled by the sender according to the data packet format should include the following definitions: Each data packet needs to be assigned a sequence number; Each data packet includes several payload data, each payload data carries a check data block; If the interval is 0, the data packet is fully filled with check data blocks, and the check data blocks are filled starting from start position=0, and the interval is 0.

3. The sampling detection method for correctness of PCIE large data transmission according to claim 2, characterized in that: The specific method for the receiver to extract the verification data block for detection is: The receiver calculates the number of check blocks N in the data packet: N = data packet size / (check block size + interval); The receiver extracts m check data blocks from 0-N according to the sampling ratio f, m=f*N; If the verification method is independent of the payload data, the receiver verifies whether the value or content of the extracted verification data block is correct according to the algorithm or rule defined by the sender and receiver and the packet sequence number of the current data packet. The expected value or content of the i-th verification data block in the data packet is deduced according to the algorithm or rule: expectedValue = function. If the expected value of the i-th verification data block is not equal to its received value, the data packet is determined to be incorrect. If the verification method is payload data, the value of the verification data block is calculated based on the payload data. The specific method is: when the receiver extracts the i-th verification data block, it also obtains the payload data on which it depends, and calculates the verification value of the dependent payload data according to the negotiated verification algorithm. If the value of the i-th verification data block received is not equal to the calculated value, the receiver determines that the data packet is incorrect.

4. The sampling detection method for correctness of PCIE large data transmission according to claim 3 is characterized in that: When there are multiple senders, the receiver samples and detects the data packets from each sender respectively.

5. The sampling detection method for correctness of PCIE large data transmission according to claim 4, characterized in that: When the receiver extracts m check data blocks from 0-N according to the sampling ratio f, m=f*N; When f is 1, all check data blocks are detected; When f is 0, no check data block is detected; When f is other values, a simple random sampling method or a systematic sampling method is used to extract a set of calibration data block sample points from 0-N.