WO2020177596A1 - 数据传输方法、装置及系统 - Google Patents

数据传输方法、装置及系统 Download PDF

Info

Publication number
WO2020177596A1
WO2020177596A1 PCT/CN2020/076806 CN2020076806W WO2020177596A1 WO 2020177596 A1 WO2020177596 A1 WO 2020177596A1 CN 2020076806 W CN2020076806 W CN 2020076806W WO 2020177596 A1 WO2020177596 A1 WO 2020177596A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
data streams
fec
streams
data stream
Prior art date
Application number
PCT/CN2020/076806
Other languages
English (en)
French (fr)
Inventor
陆玉春
庄艳
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP20767391.4A priority Critical patent/EP3930221A4/en
Publication of WO2020177596A1 publication Critical patent/WO2020177596A1/zh
Priority to US17/466,903 priority patent/US11936475B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0033Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the transmitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • H04L1/0042Encoding specially adapted to other signal generation operation, e.g. in order to reduce transmit distortions, jitter, or to improve signal shape
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2792Interleaver wherein interleaving is performed jointly with another technique such as puncturing, multiplexing or routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • H04L1/0003Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate by switching between different modulation schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0036Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • H04L1/1841Resequencing

Definitions

  • This application belongs to the application of communication technology, and particularly relates to a data transmission method, device and system.
  • the existing Ethernet high-speed interface architecture includes a feedforward error correction (FEC) layer and a physical medium attachment (PMA) layer.
  • the FEC layer is used for feedforward error correction of received data. Encode and transmit to the PMA layer, which is used to convert the transmission rate of the received data.
  • the FEC layer when it performs feedforward error correction, it can perform a variety of feedforward error correction processing. For example, it can perform RS (544,514) feedforward error correction (FEC) processing.
  • RS (544,514) refers to the coding process based on 10 bits as a coding unit, and every 10 bits of data in RS (544,514) is called an FEC symbol.
  • the PMA layer adopts a bit multiplexing (Bit Mux, also known as bit interleaving) architecture.
  • Bit Mux processing is performed in the Bit Mux architecture.
  • the processing includes: mapping m data streams received by the PMA layer in units of bits to obtain z data Stream, map the obtained z data streams in units of bits to obtain different n data streams, and the different n data streams are output through different PMA channels corresponding to each other one-to-one.
  • burst error also called burst error
  • the burst error data will be processed by BitMux.
  • BitMux the implementation of this method produces a large spread, resulting in lower reliability of data transmission.
  • This application provides a data transmission method, device and system, which can solve the problem of low data transmission reliability.
  • a data transmission method which is applied to a sender device, and the method includes:
  • the sending end device performs demultiplexing processing on the acquired y first data streams to obtain x second data streams, and the y first data streams are obtained through bit multiplexing processing.
  • mapping with a granularity of n bits refers to mapping data in units of continuous n bits.
  • the sending end device outputs the z third data streams through an output channel, where the y, the x, the n, and the z are all positive integers, and the n ⁇ 2.
  • the sender device can use n bits as the unit symbol for transmission.
  • the error unit symbol is more Less, reducing the number of wrong unit symbols in the transmission process. Reduce the spread of burst error data and improve the reliability of data transmission.
  • the sending end device maps the x second data streams with n (n ⁇ 2) bits as the granularity to obtain z third data streams and then outputs them, the mapping granularity is larger than that in the BitMux architecture.
  • the third data stream carries bursty error data during transmission
  • the receiving end device performs FEC symbol error correction
  • the bursty error data will be converted to fewer FEC symbol errors, reducing the number of errors.
  • the number of FEC symbol errors improves the success rate of FEC codeword error correction processing, improves error correction performance, and ensures the correct rate of subsequent data transmission.
  • the data in each of the second data streams carries an alignment word
  • the process of mapping the x second data streams with a granularity of n bits by the sending end device may be include:
  • the sending end device removes the alignment words of the x second data streams
  • the sending end device maps the x second data streams from which the alignment words have been removed to obtain z third data streams with the granularity of n bits;
  • the sending end device adds an alignment word to each third data stream in the z third data streams according to the mapping relationship between the x second data streams and the z third data streams.
  • the transmitting device may further process the z third data streams, and outputting the z third data streams through the output channel includes:
  • the transmitting end device maps the z third data streams with a granularity of n bits to obtain x fifth data streams, and maps the x fifth data streams with a granularity of q bits to obtain s fourth data streams. , Output the s fourth data streams through the output channel;
  • the transmitting end device maps the z third data streams with a granularity of n bits to obtain s fourth data streams, and outputs the s fourth data streams through the output channel;
  • the outputting z third data streams through the output channel includes:
  • the sending end device maps the z third data streams with a granularity of n bits to obtain x fifth data streams;
  • the sending end device multiplexes the x fifth data streams with a bit granularity to obtain s fourth data streams
  • the sending end device outputs the s fourth data streams through the output channel, where the s is a positive integer.
  • the sending end device can also match the data format and the number of channels supported by the receiving end device to achieve compatibility with the receiving end device.
  • the sending end device can be in different application scenarios, the data stream to be transmitted of the sending end device may go through a complex transmission environment, resulting in burst error data. Therefore, the sending end device can transmit the data stream to be transmitted.
  • the error correction processing may be FEC codeword error correction processing, which is also called RS error correction (Reed-Solomon error correction), or FEC recovery (FEC recovery).
  • the x second data streams include data of at least one feedforward error correction FEC codeword
  • the data of the x second data streams are mapped with a granularity of n bits to obtain z third data streams
  • the method also includes:
  • the sending end device performs FEC codeword error correction processing on the x second data streams to obtain x second data streams after error correction.
  • the method also includes:
  • the transmitting end device performs demapping processing with the granularity of FEC symbols on the x second data streams to obtain data in units of FEC codewords;
  • the performing FEC code word error correction processing on the x second data streams to obtain the x second data streams after error correction includes: the sending end device performs FEC code on the data in units of FEC code words Word error correction processing is performed to obtain error-corrected data; the error-corrected data is mapped with the FEC symbol as a granularity to obtain x second data streams after error correction.
  • the sender device ensures the accuracy of the data in the subsequent processing by performing FEC codeword error correction processing on the x second data streams.
  • the foregoing sending-end device maps the x second data streams with a granularity of n bits, and the process of mapping the z third data streams to obtain z third data streams can be implemented in multiple ways.
  • This application uses the following as examples Be explained.
  • mapping of the x second data streams with a granularity of n bits to obtain z third data streams includes:
  • the sending end device polls each of the x second data streams
  • the sending end device sequentially maps the continuous n-bit data in each second data stream obtained by polling to obtain a third data stream.
  • mapping the x second data streams with a granularity of n bits to obtain z third data streams includes:
  • the sending end device polls each second data stream of the x second data streams in turn, and maps the polled data to the third data stream, until the data of the x second data streams are completely mapped z third data streams, each polling obtains continuous n-bit data in each second data stream;
  • the data obtained by any two consecutive polls is mapped to a different third data stream.
  • the polling sequence can satisfy any of the following:
  • mapping the x second data streams with a granularity of n bits to obtain z third data streams includes:
  • the sending end device polls each of the eight second data streams in turn, and maps the polled data to the third data stream, until the data of the eight second data streams are completely mapped Two third data streams, the sending end device obtains continuous n-bit data in each second data stream by polling each time:
  • the data obtained by any two consecutive polls is mapped to a different third data stream;
  • the sequence number of the second data stream may be increased in an increasing order.
  • the sequence numbers of the polled second data streams are in order: 0, 1, 2, 3 , 4, 5, 6, and 7, and in order to ensure that for each second data stream, the data obtained by any two adjacent polls is mapped to a different third data stream, in two adjacent polling cycles .
  • the order of the third data stream mapped to the same second data stream is reversed, one of the polling cycles is the process of polling x second data streams once, that is, x n-bit data can be obtained in one polling cycle .
  • x n-bit data can be obtained in one polling cycle .
  • the sequence numbers of the polled second data streams are ordered as follows: 0, 1, 3, 2, 4, 5, 7, 6. Similarly, in two adjacent polling cycles, the order of the third data stream mapped to it is reversed.
  • mapping the x second data streams to z third data streams with a granularity of n bits includes:
  • the first polling process and the second polling process are performed alternately, until the 8 second data streams are completely mapped to the 2 third data streams, and every time during the first polling process and the second polling process
  • the polling process includes:
  • the third data stream to which data belonging to the same data stream group is mapped is different.
  • mapping the x second data streams with a granularity of n bits to obtain z third data streams includes:
  • the sending end device polls each of the 16 second data streams in turn, and maps the polled data to the third data stream, until the data of the 16 second data streams is completely mapped Four third data streams, each polling obtains continuous n-bit data in each second data stream:
  • the data obtained by any two consecutive polls is mapped to a different third data stream.
  • the sequence numbers of the polled second data streams are in order: 0, 2, 1, 3 , 4, 6, 5, 7, 8, 10, 9, 11, 12, 14, 13, and 15, and in order to ensure that for each second data stream, the data obtained by any two adjacent polls are mapped to different
  • the sequence of the third data stream mapped to it is the sequence number of the third data stream increasing or according to the sequence number of the third data stream: 2, 3, 0
  • the reversal of and 1, one of the polling cycles is a process of polling x second data streams once, that is, x n-bit data can be obtained in one polling cycle. For example, for a second data stream, in one polling cycle, it is mapped to a third data stream, and in another adjacent
  • the sequence numbers of the polled second data streams are ordered as follows: 0, 1, 2, 3, 5, 4, 7, 6, 8, 9, 10, 11, 13, 12, 15, and 14, similarly, in the two adjacent polling cycles, the first The sequence of the three data streams is ascending the sequence number of the third data stream or inverted according to the sequence numbers of the third data stream of 1, 0, 3, and 2.
  • mapping the x second data streams to z third data streams with a granularity of n bits includes:
  • the first polling process and the second polling process are alternately performed until the second data stream in the second data stream group is completely mapped to a third data stream, and the first Each polling process in the first polling process and the second polling process includes:
  • n is the number of bits included in one FEC symbol.
  • the output channel of the sending end device may be damaged, once the damaged output channel is used for data transmission, it may cause the loss of transmission data. Therefore, in order to ensure the effective transmission of data, the sending end device
  • the number of output data streams can be determined so that the number of output data streams is less than or equal to the number of available output channels, or the number of output data streams is equal to the preset number of output channels. In this way, the coding difficulty in the actual implementation of the data transmission method can be reduced, the data processing process can be simplified, and the processing overhead can be saved.
  • the sending end device can choose whether to re-encode the data of the x second data streams according to actual needs, so as to meet more needs. Therefore, before the x second data streams are mapped into z third data streams with a granularity of n bits, the method further includes:
  • the transmitting end device performs inner code FEC encoding on the x second data streams to obtain x second data streams after encoding;
  • the transmitting end device when each second data stream carries a check bit, the transmitting end device removes the check bit of each data in the x second data streams, and removes x second data streams after the check bit.
  • the data stream is subjected to second FEC encoding to obtain x second data streams after encoding.
  • the encoding method of the second FEC encoding is different from the encoding method of the first FEC encoding used before the check bit is removed.
  • the code pattern of the inner code FEC encoding and the code pattern of the second FEC encoding may be one of the following code patterns: Reed-Solomon code RS code, Bosch-Chadhury-Hokkungmu Code BCH code, Hamming code, low-density parity check LDPC code, polarization code or convolutional code.
  • the data transmission method can be adapted to more application scenarios, and the versatility of the data transmission method is improved. At the same time, it also increases the data The type of protection further guarantees the security of data.
  • the sending end device can perform alignment on the data stream. At least one of processing, offsetting processing, and reordering processing, so as to ensure the validity of the data in the subsequent processing.
  • the sender device may perform at least one of alignment processing, offset removal processing, and reordering processing on the x second data streams.
  • the present application provides a data transmission method applied to a receiving end device, and the method includes:
  • the receiving end device obtains z third data streams through the input channel
  • the receiving end device maps the z third data streams with a granularity of n bits to obtain x second data streams, and the z third data streams are mapped with a granularity of n bits;
  • the receiving end device multiplexes the x second data streams with bit granularity to obtain y first data streams; wherein, the z, the n, the x and the y are all positive integers , And the n ⁇ 2.
  • the data in each of the second data streams carries an alignment word
  • the process of mapping the z third data streams with a granularity of n bits to obtain x second data streams may be include:
  • the receiving end device removes the alignment words of the z third data streams
  • the receiving end device maps the z third data streams from which the alignment words are removed to obtain x second data streams with a granularity of n bits;
  • the receiving end device adds an alignment word to each second data stream in the x second data streams according to the mapping relationship between the z third data streams and the x second data streams.
  • the sending end device further processes the z third data streams, correspondingly, the obtaining z third data streams through the input channel includes:
  • the receiving end device receives s fourth data streams through the input channel, maps the s fourth data streams with a granularity of q bits to obtain x fifth data streams, and converts the x fifth data streams to n bits are the granularity, and the z third data streams are obtained by mapping;
  • the receiving end device receives s fourth data streams through the input channel, and maps the s fourth data streams with a granularity of n bits to obtain the z third data streams; where s is A positive integer, and the q ⁇ 2.
  • the obtaining z third data streams through the input channel includes:
  • the receiving end device receives s fourth data streams through the input channel
  • the receiving end device demultiplexes the s fourth data streams with bit granularity to obtain x fifth data streams
  • the receiving end device maps the x fifth data streams with a granularity of n bits to obtain the z third data streams, where the s is a positive integer.
  • the receiving end device can perform error correction processing on the received data stream to reduce burst error data.
  • the error correction processing may be FEC codeword error correction processing, also called RS error correction, or FEC recovery.
  • the x second data streams include data of at least one feedforward error correction FEC codeword
  • the x second data streams are multiplexed with a bit granularity to obtain y first data
  • the method also includes:
  • the receiving end device performs FEC codeword error correction processing on the x second data streams to obtain x second data streams after error correction.
  • the method also includes:
  • the receiving end device performs demapping processing with the granularity of FEC symbols on the x second data streams, and data in units of FEC codewords;
  • the receiving end device performing FEC codeword error correction processing on the x second data streams to obtain the x second data streams after error correction includes:
  • the receiving end device performs FEC codeword error correction processing on the data in units of FEC codewords to obtain error-corrected data, and performs mapping processing on the error-corrected data with the FEC symbol granularity as the granularity to obtain errors.
  • X second data streams after the error.
  • the receiving end device performs FEC codeword error correction processing on the x second data streams to ensure the accuracy of the data in the subsequent processing.
  • the foregoing receiving end device may map the z third data streams with a granularity of n bits to obtain x second data streams in a variety of ways.
  • This application takes the following several examples as examples.
  • mapping of z third data streams with a granularity of n bits to obtain x second data streams includes:
  • the receiving end device sequentially maps successive n-bit data in one third data stream to obtain x second data streams.
  • mapping the z third data streams with a granularity of n bits to obtain x second data streams includes:
  • the receiving end device sequentially polls each third data stream of the z third data streams, and maps the polled data to the second data stream, until the data of the z third data streams are completely mapped x second data streams, each polling obtains continuous n-bit data in each third data stream:
  • the data obtained by any two adjacent mappings comes from a different third data stream.
  • mapping order satisfies any of the following:
  • mapping is performed in the order of increasing sequence number of the second data stream.
  • the sending end device has multiple polling sequences and mapping sequences, correspondingly, the mapping process of the receiving end device may include multiple types, and this application uses the following multiple as examples for illustration.
  • mapping the z third data streams with a granularity of n bits to obtain x second data streams includes:
  • the receiving end device polls each third data stream of the two third data streams in turn, and maps the polled data to the second data stream, until the data of the two third data streams are completely mapped 8 second data streams, each polling obtains continuous n-bit data in each of the third data streams;
  • mapping of z third data streams to x second data streams with a granularity of n bits includes:
  • the first polling process and the second polling process are alternately executed until the two third data streams are completely mapped to x second data streams, and the first polling process includes:
  • the second polling process includes:
  • the receiving end device polls each of the four third data streams in turn, and maps the polled data to the second data stream until 4 Six third data streams are completely mapped to obtain 16 second data streams.
  • Each polling obtains continuous n-bit data in each third data stream.
  • mapping of z third data streams to x second data streams with a granularity of n bits includes:
  • the first polling process includes:
  • the second polling process includes:
  • n is the number of bits included in one FEC symbol.
  • the transmitting end device performs re-encoding processing on the data of the x second data streams, correspondingly, the receiving end device performs re-encoding and decoding on the x second data streams.
  • the method further includes:
  • the receiving end device performs inner code FEC decoding on the x second data streams to obtain decoded x second data streams, and removes the check bits contained in the x second data streams after the decoding process to obtain X second data streams after removing check bits, where the check bits are added when the transmitting end device performs inner code FEC encoding on the x second data streams;
  • the receiving end device performs second FEC decoding on the x second data streams to obtain decoded x second data streams, and performs first FEC encoding on the decoded x second data streams to obtain
  • the encoding manner corresponding to the second FEC decoding is different from the encoding manner of the first FEC encoding.
  • the code pattern of the inner code FEC encoding and the code pattern of the second FEC encoding may be one of the following code patterns: Reed-Solomon code RS code, Bosch-Chadhury-Hokkungmu Code BCH code, Hamming code, low-density parity check LDPC code, polarization code or convolutional code.
  • the receiving end device can perform alignment on the data stream. At least one of processing, offsetting processing, and reordering processing, so as to ensure the validity of the data in the subsequent processing.
  • the method further includes: the receiving end device executes the z third data streams At least one of alignment processing, de-offset processing, and reordering processing.
  • a data transmission method which is applied to a sending end device, and the method includes:
  • the sending end device maps z third data streams with a granularity of n bits to obtain x fifth data streams, and the z third data streams are obtained by mapping with a granularity of n bits;
  • the sending end device maps the x fifth data streams with a granularity of q bits to obtain s fourth data streams
  • the sending end device outputs the s fourth data streams respectively through output channels; wherein, the z, the n, the x, the q, and the s are all positive integers, and the n ⁇ 2, The q ⁇ 2.
  • the n and/or the q are the number of bits included in one FEC symbol.
  • the number of output channels is less than or equal to the number of available output channels, or the number of output channels is equal to the preset number of output channels.
  • a data transmission method which is applied to a sender device, and the method includes:
  • the sending-end device maps z third data streams with a granularity of n bits to obtain x fifth data streams, and the z third data streams are mapped with a granularity of n bits;
  • the sending end device multiplexes the x fifth data streams with a bit granularity to obtain s fourth data streams
  • the sending end device outputs the s fourth data streams respectively through output channels; wherein, the z, the n, the x, and the s are all positive integers, and the n ⁇ 2.
  • n is the number of bits included in one FEC symbol.
  • the number of output channels is less than or equal to the number of available output channels, or the number of output channels is equal to the preset number of output channels.
  • a data transmission method which is applied to a receiving end device, and the method includes:
  • the receiving end device receives s fourth data streams through the input channel
  • the receiving end device maps the s fourth data streams with a granularity of q bits to obtain x second data streams
  • the receiving end device maps the x second data streams with a granularity of n bits to obtain z third data streams
  • the s, the q, the x, the n, and the z are all positive integers, and the q ⁇ 2, and the n ⁇ 2.
  • a data transmission device which is applied to a sending end device.
  • the device may include at least one module, and the at least one module may be used to implement any of the data transmission methods in the first aspect.
  • a data transmission device which is applied to a receiving end device.
  • the device may include at least one module, and the at least one module may be used to implement any of the data transmission methods described in the second aspect.
  • a data transmission device which is applied to a receiving end device.
  • the device may include at least one module, and the at least one module may be used to implement any of the data transmission methods described in the third aspect.
  • a data transmission device which is applied to a receiving end device.
  • the device may include at least one module, and the at least one module may be used to implement any of the data transmission methods described in the fourth aspect.
  • a data transmission device which is applied to a receiving end device.
  • the device may include at least one module, and the at least one module may be used to implement any of the data transmission methods described in the fifth aspect.
  • a data transmission device including:
  • a processor and a memory where the memory is used to store computer-executable instructions, and when the processor is running, the processor executes the computer-executable instructions in the memory to implement any of the aforementioned data transmission methods.
  • the twelfth aspect provides a data transmission system, including:
  • a sending end device and a receiving end device includes any one of the data transmission devices described in the first aspect, and the receiving end device includes any one of the data transmission devices described in the second aspect.
  • the sending end device and the receiving end device both include a main chip
  • both the transmitting end device and the receiving end device include a main chip, a clock and data recovery CDR chip, and an optical module;
  • both the transmitting end device and the receiving end device include a main chip and an optical module
  • the transmitting end device includes a main chip, a CDR chip and an optical module
  • the receiving end device includes a main chip and an optical module
  • the transmitting end device includes a main chip and an optical module
  • the receiving end device includes a main chip, a CDR chip, and an optical module.
  • a computer-readable storage medium is provided, and instructions are stored in the computer-readable storage medium.
  • the instructions are executed on a computer, the computer executes any of the aforementioned data transmission methods .
  • a computer program product is provided, and instructions are stored in the computer program product, and when the instructions are run on a computer, the computer executes any of the aforementioned data transmission methods.
  • a chip is provided.
  • the chip may include a programmable logic circuit and/or program instructions, and is used to implement any of the aforementioned data transmission methods when the chip is running.
  • the chip includes a processor and a memory
  • the memory is used to store the foregoing program instructions
  • the processor executes the program instructions in the memory to implement any of the foregoing Data transmission method.
  • the chip can be a master chip or a CDR chip.
  • the sending end device and the receiving end device can use n bits as the unit symbol for transmission during data transmission.
  • n bits as the unit symbol for transmission during data transmission.
  • the transmission is When the data contains burst error data, there are fewer error unit symbols, which reduces the number of error unit symbols during transmission. Reduce the spread of burst error data and improve the reliability of data transmission.
  • the sending end device maps x second data streams (for example, the second data stream is output by an FEC channel) with a granularity of n (n ⁇ 2) bits to obtain z third data streams.
  • the data stream is then output (for example, the third data stream is output by a physical channel), and its mapping granularity is larger than that in the BitMux architecture.
  • the third data stream carries bursty error data during transmission, If the receiving device performs FEC symbol error correction, the burst error data will be converted to fewer FEC symbol errors, reducing the number of error FEC symbol errors, increasing the success rate of FEC codeword error correction processing, and improving error Error performance to ensure the correct rate of subsequent data transmission.
  • FIG. 1 is a schematic diagram of a hierarchical structure of an Ethernet interface provided by an embodiment of the present application
  • FIG. 2 is a schematic diagram of a BitMux processing flow provided by an embodiment of the present application.
  • FIG. 3 is a schematic diagram of a BitMux architecture provided by an embodiment of the present application.
  • Figure 4 is a schematic diagram of a BitMux architecture provided by an embodiment of the application.
  • FIG. 5 is a schematic diagram of a BitMux architecture provided by an embodiment of the present application.
  • FIG. 6 is a schematic structural diagram of a data transmission system provided by an embodiment of the present application.
  • FIG. 7 is a flowchart of a data transmission method provided by an embodiment of the present application.
  • FIG. 8 is a flowchart of a method for mapping x second data streams with a granularity of n bits to obtain z third data streams according to an embodiment of the present application
  • FIG. 9 is a flowchart of a method for mapping received z third data streams with a granularity of n bits to obtain x second data streams according to an embodiment of the present application;
  • FIG. 10 is a flowchart of a data transmission method provided by an embodiment of the present application.
  • FIG. 11 is a flowchart of a data transmission method provided by an embodiment of the present application.
  • FIG. 12 is a flowchart of a data transmission method provided by an embodiment of the present application.
  • FIG. 13 is a flowchart of a data transmission method provided by an embodiment of the present application.
  • FIG. 14 is a flowchart of a data transmission method provided by an embodiment of the present application.
  • 15 to 20 are schematic diagrams of several mapping processes provided by embodiments of the present application.
  • FIGS. 21 to 23 are schematic diagrams of several application environments provided by embodiments of the present application.
  • FIG. 24 is a schematic diagram of a hierarchical structure of an Ethernet interface provided by an embodiment of the present application.
  • FIG. 25 is a flowchart of a data transmission method provided by an embodiment of the present application.
  • FIG. 26 is a flowchart of a data transmission method provided by an embodiment of the present application.
  • FIG. 27 is a schematic diagram of a hierarchical structure of an Ethernet interface provided by an embodiment of the present application.
  • FIG. 28 is a flowchart of a data transmission method provided by an embodiment of the present application.
  • FIG. 29 is a flowchart of a data transmission method provided by an embodiment of the present application.
  • FIG. 30 to FIG. 33 are schematic structural diagrams of several data transmission apparatuses provided by embodiments of the present application.
  • 38 to 42 are schematic diagrams of the structure of several data transmission systems provided by embodiments of the present application.
  • the current IEEE802.3ck protocol defines Ethernet interface standards such as 100GE, 200GE, and 400GE based on 100 gigabyte (G) electrical channels.
  • G gigabyte
  • C2M chip to module
  • Gbps switching broadband
  • FIG 1 shows a schematic diagram of the hierarchical structure of some Ethernet interfaces defined by IEEE802.3bs and IEEE802.3cd under IEEE802.3ck.
  • the IEEE802.3bs protocol defines 200GE and 400GE Ethernet interface standards.
  • the IEEE802.3cd The agreement defines 50GE, 100GE and 200GE Ethernet interface standards.
  • the hierarchical structure of the Ethernet interface includes the Media Access Control (MAC) layer, the reconciliation Sublayer (RS), and the physical coding sublayer (PCS) arranged in sequence.
  • MAC Media Access Control
  • RS reconciliation Sublayer
  • PCS physical coding sublayer
  • MII medium independent interface
  • RS RS
  • PCS physical medium dependent
  • AN auto negotiation
  • media medium for example, coaxial cable, optical fiber or twisted pair cable, etc.
  • MII medium independent interface
  • RS RS
  • PCS physical medium dependent
  • AN auto negotiation
  • media medium for example, coaxial cable, optical fiber or twisted pair cable, etc.
  • RS medium independent interface
  • PCS physical medium dependent
  • AN auto negotiation
  • media medium for example, coaxial cable, optical fiber or twisted pair cable, etc.
  • AUI attachment unit interface
  • MDI medium dependent interface
  • the aforementioned RS, PCS, FEC layer, PMA layer, PMD layer, and AN layer belong to the physical layer of the Ethernet interface.
  • the sent data will pass through the MAC layer, RS, PCS, FEC layer, PMA layer, PMD layer, AN layer and media in sequence, and the received data will pass through the media in sequence Medium, AN layer, PMD layer, PMA layer, FEC layer, PCS, RS and MAC layer.
  • the following layers may be included between the PMA layer and the PMD sublayer: port physical layer extender sublayer (PHY XS), PCS layer, and PMA layer.
  • PHY XS port physical layer extender sublayer
  • PCS PCS layer
  • PMA layer the functions of the FEC layer can be integrated in the PCS layer.
  • RS is used to provide mapping processing for the data transmitted between the MAC layer and PCS
  • PCS is used to encode or decode the transmitted data according to a certain encoding method
  • the FEC layer is used to achieve FEC processing
  • the PMA layer is used to Support the PCS layer to realize the use of multiple physical media
  • the PMD sublayer is used to realize the mutual conversion between the data signal of the PAM sublayer and the transmission signal on the specific media medium
  • the AN sublayer is used for connection auto-negotiation (Auto-Negotiation) Device
  • the auto-negotiation device can determine the mode supported by the physical layer by detecting the mode supported by the physical media terminal, and configure the mode for the physical layer.
  • the PHY XS layer is used to extend the port connection of the physical layer.
  • MII can be used to transmit data at different rates, which can include multiple types of data such as 50GMII, 100GMII, and 200G/400GMII.
  • the aforementioned hierarchical structure of the Ethernet interface is divided according to the functions of the equipment used for data transmission.
  • the aforementioned hierarchical structure can be adjusted according to the situation, for example, the hierarchy can be increased, decreased, or combined.
  • the embodiments of this application do not limit this.
  • the PMA layer adopts the BitMux architecture.
  • BitMux processing is performed in the BitMux architecture.
  • This processing includes: mapping the m data streams obtained by the PMA layer to obtain x data streams (this processing is also called solution Multiplexing processing), mapping the obtained x data streams to obtain y data streams (this processing is also referred to as multiplexing processing), and the y data streams are output through different PMA channels corresponding to one-to-one.
  • x is a common multiple of m and y, and m, x, and y are all positive integers.
  • the embodiment of this application takes the BitMux architecture of Figure 4 as an example.
  • the principle of the BitMux architecture of Figure 3 can refer to the BitMux architecture shown in Figure 4, assuming that m data streams acquired by the PMA layer
  • These are data streams D1 to D8, where the data in data stream D1 includes 11.7, 2.8, 11.6, 2.7, 11.5, and 2.6; the data in data stream D2 includes 3.6, 10.3, 3.5, 10.2, 3.4, and 10.1; data stream
  • the data in D3 includes 4.4, 13.8, 4.3, 13.7, 4.2 and 13.6; the data in data stream D4 includes 7.8, 14.4, 7.7, 14.3, 7.6, 14.2; the data in data stream D5 includes 1.7, 9.8, 1.6, 9.7 , 1.5 and 9.6; data in data stream D6 includes 5.7, 0.3, 5.6, 0.2, 5.5, and 0.1; data in data stream D7 includes 15.5, 6.8, 15.4, 6.5, 15.3, and 6.6; data in data stream D8 includes 8.10, 12.8, 8.
  • the data streams D1 to D8 are demultiplexed with a bit (ie, 1 bit) as the granularity (also referred to as a unit) to obtain x data streams after demultiplexing.
  • each of the m data streams is demultiplexed to obtain two of the x data streams, then the x data streams are 16 data streams, and the data in each data stream includes 3 Bit data, the 16 data streams include data 11.7, 11.6, 11.5; 2.8, 2.8, 2.6; 3.6, 3.5, 3.4; 10.3, 10.2, 10.1; 4.4, 4.3, 4.2; 13.8, 13.7, 13.6; 7.8, 7.7 , 7.6; 14.4, 14.3, 14.2; 1.7, 1.6, 1.5; 9.8, 9.7, 9.6; 5.7, 5.6, 5.5; 0.3, 0.2, 0.1; 15.5, 15.4, 15.3; 6.8, 6.7, 6.5; 8.10, 8.9, 8.8 ; 12.8, 12.7, 12.6.
  • the data of data stream W2 includes 4.4, 7.8, 13.8, 14.4, 4.3, 7.7, 13.7, 14.3, 4.2, 7.6, 13.6, 14.2;
  • the data of data stream W3 includes 1.7, 5.7, 9.8, 0.3, 1.6, 5.6, 9.7, 0.2, 1.5, 5.5, 9.6, and 0.1;
  • the data of data stream W4 includes 15.5, 8.10, 6.8, 12.8, 15.4, 8.9, 6.7, 12.7, 15.3, 8.8, 6.6 and 12.6.
  • the single-channel data transmission rate at the sending end is usually different from the single-channel data transmission rate at the receiving end.
  • the BitMux architecture of the PMA layer can realize the conversion of the data transmission rate. Complete the matching of the data transmission rate of the sender and the receiver.
  • the PMA layer performs data demultiplexing and multiplexing processing with bit granularity, and the mapping granularity is small.
  • the current sender equipment and receiver In the process of data transmission, the data between the output channel of the PMA layer of the sending end device and the input channel of the PMA layer of the receiving end device is transmitted in units of bits, that is, the transmission between the transmitting end and the receiving end The unit symbol of is 1 bit.
  • the burst error data When the output channel of the PMA layer of the sending end device and the data transmitted in the PMA layer of the receiving end device carry burst error data, the burst error data will be carried in multiple transmitted unit symbols, causing a burst error The larger spread of data leads to lower reliability of data transmission.
  • Bit De-Mux bit de-multiplexing
  • the FEC codeword error correction can only correct a certain number of FEC symbol errors (for example, when the FEC codeword error correction corresponding to RS (544,514) is used, a maximum of 15 FEC symbol errors can be corrected), so once a burst error occurs The number of FEC symbol errors caused by data exceeds the number of correctable FEC symbol errors, which will cause the error correction process of the FEC codeword to fail, reduce error correction performance, fail to correct burst error data, and reduce the correct rate of subsequent data transmission .
  • FIG. 6 shows a schematic structural diagram of a data transmission system provided by an embodiment of the present application.
  • the data transmission system includes a sending end device 10 and a receiving end device 20, and the sending end device 10 and the receiving end device 20 establish a communication connection.
  • the communication connection is a communication connection established based on the aforementioned Ethernet interface standard.
  • the sending end device 10 is used to send data
  • the receiving end device 20 is used to receive data; further, the sending end device 10 can encode the data to be sent, and correspondingly, the receiving end device 20 can decode the received data. deal with.
  • both the transmitting end device 10 and the receiving end device 20 include a main chip; or, both the transmitting end device 10 and the receiving end device 20 include a main chip, a clock and data recovery (CDR) chip, and an optical module; or, The transmitting end device 10 and the receiving end device 20 both include a main chip and an optical module; alternatively, the transmitting end device 10 includes a main chip, a CDR chip and an optical module, and the receiving end device 20 includes a main chip and an optical module; or, the transmitting end device 10 includes: The main chip and the optical module, and the receiving end device 20 includes a main chip, a CDR chip and an optical module.
  • Both the sending end device and the receiving end device mentioned above can be applied to (or integrated in) devices such as routers, switches, or servers.
  • FEC encoding refers to adding redundant error correction codes (the location of the redundant error correction codes is called check digits) in the transmitted data, so that the decoder can decode through FEC under certain conditions The data is restored, and the error code (that is, the wrong data) in the transmission process is automatically corrected.
  • the index to measure the error correction capability of FEC coding is called "FEC coding gain", which is positively correlated with the error correction performance of FEC coding, that is, the larger the gain, the stronger the error correction performance of the FEC coding.
  • mapping processing refers to the conversion of r data streams into t data streams according to certain rules. r can be equal to or different from t.
  • the mapping processing may include multiplexing processing, demultiplexing processing, interleaving processing, and de-interleaving processing.
  • the number of data streams obtained by conversion is smaller than the number of data streams before conversion, that is, t ⁇ r;
  • Demultiplexing is the inverse process of multiplexing, that is, the number of converted data streams is greater than the number of data streams before conversion, that is, t>r;
  • interleaving at least one piece of data is converted
  • the data of the stream comes from the data of at least two data streams before the conversion, that is, through the interleaving process, the interleaving of the data of different data streams is realized.
  • the de-interleaving process is the reverse process of the interleaving process. In the de-interleaving process, the conversion is obtained
  • the data of at least two data streams is derived from the data of at least one data stream, that is, the recovery of the interleaved data stream is realized through de-interleaving processing.
  • the sending end device may first demultiplex the acquired y first data streams to obtain x second data streams, where the y first data streams are obtained through BitMux processing; Then, the x second data streams are mapped with a granularity of n bits to obtain z third data streams; then, the z third data streams are output through the output lane.
  • y, x, n and z are all positive integers, and n ⁇ 2,
  • the foregoing output channel may be a physical channel (also called a physical channel, a real channel, or an interface), or a virtual channel (also called a virtual channel), which is not limited in the embodiment of the present application.
  • the sending end device and the receiving end device may use n bits as the unit symbol for transmission during data transmission. Compared with the traditional data transmission method using 1 bit as the unit symbol, if When the transmitted data carries burst error data, there are fewer error unit symbols, which reduces the number of error unit symbols in the transmission process. Reduce the spread of burst error data and improve the reliability of data transmission.
  • the sending end device maps x second data streams (for example, the second data stream is output by an FEC channel) with a granularity of n (n ⁇ 2) bits to obtain z
  • the third data stream is then output (for example, the third data stream is output by a physical channel), and its mapping granularity is larger than that in the BitMux architecture.
  • the third data stream carries bursty error data during transmission
  • the receiving end device performs FEC symbol error correction
  • the burst error data will be converted to fewer FEC symbol errors, which reduces the number of erroneous FEC symbol errors and improves the success rate of FEC codeword error correction processing. Improve error correction performance to ensure the correct rate of subsequent data transmission.
  • FIG. 7 shows a flowchart of a data transmission method provided in an embodiment of the present application.
  • the data transmission method can be applied to the system shown in FIG. 6, as shown in FIG. As shown, the method includes:
  • Step 101 The sending end device obtains y first data streams, and the y first data streams are obtained through BitMux processing.
  • the data stream to be transmitted is processed by at least BitMux.
  • the data stream to be transmitted is usually transmitted to the PMA layer after passing through the MAC layer, RS, PCS, and FEC layer, and then passes through the BitMux processing of the PAM layer to achieve data rate matching between the sending end device and the receiving end device.
  • the sending end device has acquired y first data streams, the y first data streams are obtained through BitMux processing, and y is a positive integer.
  • the data transmission method provided in the embodiment of the present application is executed for the y first data streams.
  • the y first data streams obtained by the sending end device can be obtained from at least one data stream after BitMux processing.
  • the at least one data stream may be the aforementioned m data streams, and the y first data streams obtained by processing are the aforementioned y data streams.
  • the at least one data stream may be a data stream to be transmitted generated or received by the sending end device through designated processing, or may be the same as the data stream to be transmitted, which is not limited in the embodiment of the present application.
  • the designated processing may be processed through at least one of the MAC layer, RS, PCS, and FEC layer.
  • the data stream to be transmitted usually needs to go through the FEC layer, and the FEC layer performs the first FEC encoding (FEC encode) on the data stream to be transmitted to perform FEC codeword error correction processing on the data stream to be transmitted to ensure that the data stream to be transmitted The accuracy of the transmitted data stream.
  • the first FEC code may be RS(544,514). Accordingly, the y first data streams are also obtained through the first FEC encoding.
  • Step 102 The sending end device performs demultiplexing processing on the acquired y first data streams to obtain x second data streams.
  • the acquired y first data streams are obtained through BitMux processing, as shown in Figures 2 to 4, in the BitMux processing process, the m data streams are first processed with a bit granularity
  • the demultiplexing process uses x data streams to obtain x data streams, and then multiplexes the x data streams with the bit granularity to obtain y data streams.
  • the data transmission method provided in this embodiment of the application can be used for multiplexing during BitMux processing. Use the data before processing for further processing.
  • the sending end device can demultiplex the acquired y first data streams with bit granularity to obtain x second data streams. data flow.
  • the content of the x second data streams and the x data streams in the BitMux processing are usually the same, or at least the number of data streams is the same.
  • the data transmission method provided in the embodiments of this application can further process the data before BitMux processing.
  • the sending-end device can perform bit-based processing on the acquired y first data streams.
  • Granular demultiplexing processing is to perform multiplexing processing on the data obtained from the demultiplexing processing to obtain x second data streams.
  • the content of the x second data streams is generally the same as the m data streams before BitMux processing, or at least the number of data streams is the same, where x is a positive integer.
  • the embodiment of this application takes further processing of the data before multiplexing in the BitMux processing process as an example for description. Then, continuing to take the example shown in FIG. 4 as an example, the transmitting end device performs demultiplexing processing on the four first data streams W1 to W4 to obtain 16 second data streams.
  • Step 103 The sending end device maps the x second data streams with a granularity of n bits to obtain z third data streams.
  • the data in each second data stream of the x second data streams carries an alignment word (alignment marker, AM), and the alignment word is used to identify the output channel to which the second data stream belongs.
  • the AM includes the identifier of the output channel to which the second data stream belongs.
  • the AM includes the identifier of the FEC channel.
  • n 10
  • the granularity of the mapping is the length of one FEC symbol.
  • the unit symbol of the data transmission between the transmitting end device and the receiving end device is equivalent to one FEC symbol.
  • mapping x second data streams with a granularity of n bits to obtain z third data streams may include:
  • Step 1031 The sending end device removes the alignment words of the x second data streams.
  • the sending end device may remove the alignment words carried in the data in each of the x second data streams, and this process is referred to as alignment word removal for short.
  • Step 1032 The sending end device maps the x second data streams from which the alignment words have been removed with a granularity of n bits to obtain z third data streams.
  • the sender device may map x second data streams with alignment words removed at a granularity of 10 bits (FEC symbols) to obtain z third data streams.
  • Step 1033 The sending end device adds an alignment word to each third data stream in the z third data streams according to the mapping relationship between the x second data streams and the z third data streams.
  • step 1031 and step 1033 can also be replaced with: the sending end device directly according to the mapping relationship between x second data streams and z third data streams, the data carried in the The alignment words are overwritten, and the new alignment words of each third data stream in z third data streams can be directly used to overwrite the original alignment words.
  • step 1033 can be divided into two steps: alignment word mapping and alignment word addition.
  • the alignment word mapping process refers to the sending end device according to x second data streams and z third data.
  • the mapping relationship of the streams, the process of determining the alignment words of z third data streams, the alignment word adding process refers to the sending end device adding the determined corresponding alignment words to each third data stream in z third data streams process.
  • Step 104 The sending end device outputs z third data streams through the output channel.
  • the above steps 101 to 103 may be performed by the PAM layer of the sending end device, or a newly added sublayer in the sending end device.
  • this sublayer may be called an AUI extension sublayer (XS ).
  • the AUI XS can be located between the PMA layer and the PMA layer, or between the PMA layer and the PMD layer.
  • Step 104 may be performed by the PMD layer of the transmitting end device or other interface layers connected to the receiving end device, for example, performed by the PMA layer of the transmitting end device.
  • the output channel may refer to the PMD output channel (the PMD output channel is a physical channel), and the transmitting end device will one-to-one correspondence between z third data streams and z PMD output channels,
  • the third data stream is output from the PMD layer (that is, from the MDI interface) through the corresponding PMD output channel.
  • Step 105 The receiving end device obtains z third data streams through the input channel.
  • the sending end device outputs z third data streams through the output channel, and correspondingly, the receiving end device corresponding to the sending end device will receive the z third data streams through the input lane.
  • this step 105 may be performed by the PMD layer of the receiving end device, or other interface layers connected to the sending end device, for example, the PMA layer of the receiving end device.
  • the input channel can be z PMD input channels (the PMD input channel is a physical channel), and the receiving end device receives one-to-one correspondence with z PMD input channels through z PMD input channels z third data stream.
  • the data required by the receiving end device is the data to be sent that has not been processed by the sending end device, that is, the required data is the data that has not performed the above steps 102 to 104, therefore, the data processing process of the receiving end device and the sending end
  • the processing procedure of the device on the data is reversed, and the implementation of the following steps can refer to the implementation of the corresponding steps in the foregoing embodiment.
  • Step 106 The receiving end device maps the z third data streams with a granularity of n bits to obtain x second data streams.
  • the receiving end device can map z third data streams with a granularity of n bits to obtain x second data streams.
  • the receiving end device will receive
  • the obtained z third data streams have a granularity of n bits, and the process of mapping to obtain x second data streams may include:
  • Step 1061 The receiving end device removes the alignment words of the z third data streams.
  • Step 1062 The receiving end device maps the z third data streams from which the alignment words have been removed with a granularity of n bits to obtain x second data streams.
  • the implementation process of this step 1062 is opposite to the implementation process of step 1032 in the foregoing embodiment. Therefore, the implementation process of this step 1062 can refer to the implementation process of step 1032 in the foregoing embodiment, which is not repeated in this embodiment of the application.
  • the receiving end device may map z third data streams with alignment words removed at a granularity of 10 bits (FEC symbols) to obtain x second data streams.
  • Step 1063 The receiving end device adds an alignment word to each of the x second data streams according to the mapping relationship between z third data streams and x second data streams.
  • step 1063 For the implementation process of this step 1063, reference may be made to the implementation process of step 1033 in the foregoing embodiment, which will not be repeated in this embodiment of the present application.
  • Step 107 The receiving end device multiplexes the x second data streams with bit granularity to obtain y first data streams.
  • the method for the receiving end device to obtain the y first data streams is Performing the reverse processing of the demultiplexing processing on the x second data streams, that is, the multiplexing processing.
  • the implementation method of this step 107 reference may be made to the implementation manner of the above-mentioned step 102, which will not be repeated in this embodiment of the application.
  • the sending end device since the sending end device maps the x second data streams with n (n ⁇ 2) bits as the granularity to obtain z third data streams and then output them, the sending During data transmission, the end device and the receiving end device use n bits as the unit symbol for transmission.
  • FIG. 10 shows a flowchart of another data transmission method provided in an embodiment of the present application.
  • the data transmission method can be applied to the system shown in FIG. 6, as shown in FIG. As shown in 10, the method includes:
  • Step 201 The sending end device obtains y first data streams, and the y first data streams are obtained through BitMux processing.
  • Step 202 The sending end device performs demultiplexing processing on the acquired y first data streams to obtain x second data streams.
  • Step 203 The sending end device maps the x second data streams with a granularity of n bits to obtain z third data streams.
  • Step 204 The sending end device maps the z third data streams with a granularity of n bits to obtain x fifth data streams, and maps the x fifth data streams with a granularity of q bits to obtain s fourth data streams. .
  • the receiving end device Since the data format and the number of input channels received by the receiving end device may be different from the data format and the number of output channels output by the sending end device, for example, the receiving end device supports receiving s fourths processed with a granularity of q bits.
  • the data stream that is, the data format of the receiving device is divided into q bits as a granularity format.
  • the sending device can add z third The data stream uses n bits as the granularity, mapping to obtain x fifth data streams, and then the x fifth data streams are mapped to q bits as the granularity to obtain s fourth data streams, so that the z third data streams are converted It is s fourth data streams to match the data format and the number of channels supported by the receiving end device.
  • q the x fifth data streams and the aforementioned x second data streams have at least the same data attributes, for example, both are data transmitted by the PMA layer, and both are transmitted through the PMA channel.
  • the x fifth data streams are at least the same as the aforementioned x second data streams.
  • the x fifth data streams can be the x second data streams in the aforementioned step 202.
  • z The third data stream has a granularity of n bits, and the mapping process in x fifth data streams is obtained by mapping, which is opposite to the mapping process in step 202 above.
  • the above steps 203 and 204 may be executed by the same module of the same device, or may be executed by different modules of the same device.
  • the main chip may execute the above steps 203 and 204 to obtain s fourth data streams.
  • the chip of the sending end device includes a main chip and a CDR chip
  • the main chip can execute the above step 203, and then the main chip sends the z third data streams obtained in step 203 to the CDR chip, and the CDR chip executes step 204 To get s fourth data streams.
  • Step 205 The sending end device outputs the s fourth data streams through the output channel.
  • step 205 For the implementation of this step 205, reference may be made to the implementation of step 104 in the above-mentioned first optional implementation, which will not be repeated in this embodiment of the present application.
  • Step 206 The receiving end device receives s fourth data streams through the input channel.
  • the sending end device outputs the s fourth data streams through the output channel. Accordingly, the receiving end device corresponding to the sending end device will receive the s fourth data streams through the input channel.
  • step 206 For the implementation manner of step 206, reference may be made to the implementation manner of step 105 in the above-mentioned first optional implementation manner, which is not repeated in this embodiment of the present application.
  • Step 207 The receiving end device maps the s fourth data streams with a granularity of q bits to obtain x fifth data streams, and maps the x fifth data streams with a granularity of n bits to obtain z third data streams. .
  • the sending end device executes the above step 204, correspondingly, the receiving end device needs to convert s fourth data streams into z third data streams, that is, perform the reverse process of the above step 204, the implementation can be referred to The implementation of the foregoing step 204 is not repeated in this embodiment of the application.
  • Step 208 The receiving end device maps z third data streams with a granularity of n bits to obtain x second data streams, and the z third data streams are obtained by mapping with a granularity of n bits.
  • the above steps 206 and 207 may be executed by the same module of the same device, or may be executed by different modules of the same device.
  • the main chip may execute the above steps 206 and 207 to obtain x second data streams.
  • the chip of the receiving device includes a main chip and a CDR chip
  • the CDR chip can execute the above step 206, and then the CDR chip sends the z third data streams obtained in step 206 to the main chip, and the main chip executes step 207 To get x second data streams.
  • Step 209 The receiving end device multiplexes the x second data streams with bit granularity to obtain y first data streams.
  • step 201, step 202, and step 203 refer to the implementation of step 101, step 102, and step 103 in the first optional implementation manner in sequence, which will not be repeated in this embodiment of the present application; this step 206
  • step 208 and step 209 reference may be made to the implementation manners of step 105, step 106, and step 107 in the foregoing first optional implementation manner in sequence, which will not be repeated in this embodiment of the present application.
  • the sending end device maps the z third data streams with a granularity of n bits to obtain x fifth data streams, and the x fifth data streams With q(q ⁇ 2) bits as the granularity, s fourth data streams are obtained by mapping and then output. Therefore, in the process of data transmission between the sender device and the receiver device, q bits are used as the unit symbol of the transmission, compared with In the traditional way of data transmission using 1 bit as a unit symbol, if the transmitted data carries burst error data, there are fewer error unit symbols, which reduces the number of error unit symbols in the transmission process. Reduce the spread of burst error data and improve the reliability of data transmission. Further, the data format and the number of channels supported by the receiving end device can also be matched to achieve compatibility with the receiving end device.
  • FIG. 11 shows a flowchart of a data transmission method provided by an embodiment of the present application.
  • the data transmission method can be applied to the system shown in FIG. 6, as shown in FIG. 11 As shown, the method includes:
  • Step 301 The sending end device obtains y first data streams, and the y first data streams are obtained through BitMux processing.
  • Step 302 The sending end device performs demultiplexing processing on the acquired y first data streams to obtain x second data streams.
  • Step 303 The sending end device maps the x second data streams with a granularity of n bits to obtain z third data streams.
  • Step 304 The sending end device maps the z third data streams with a granularity of n bits to obtain s fourth data streams.
  • the receiving device supports receiving s fourths processed with a granularity of n bits.
  • the data stream that is, the data format of the receiving end device is divided into n bits.
  • the sending end device can add z third
  • the data streams are directly mapped to obtain s fourth data streams, so that the z third data streams are converted into s fourth data streams to match the data format and the number of channels supported by the receiving end device.
  • n 2.
  • the process of converting z third data streams into s fourth data streams by the sending end device reduces the number of z third data streams compared to the implementation of step 304 in the second optional implementation manner. Replacing the steps of x second data streams simplifies data processing and saves processing overhead.
  • the above steps 303 and 304 may be executed by the same module of the same device, or may be executed by different modules of the same device.
  • the main chip may execute the above steps 303 and 304 to obtain s fourth data streams.
  • the main chip can execute the above step 303, and then the main chip sends the z third data streams obtained in step 303 to the CDR chip, and the CDR chip executes step 304 To get s fourth data streams.
  • Step 305 The sending end device outputs the s fourth data streams through the output channel.
  • Step 306 The receiving end device receives s fourth data streams through the input channel.
  • Step 307 The receiving end device maps the s fourth data streams with a granularity of n bits to obtain z third data streams.
  • the sending end device executes the above step 304, correspondingly, the receiving end device needs to convert s fourth data streams into z third data streams, that is, perform the reverse process of the above step 304, the implementation method can refer to The implementation of the foregoing step 304 is not repeated in the embodiment of the present application.
  • Step 308 The receiving end device maps the z third data streams with a granularity of n bits to obtain x second data streams, and the z third data streams are mapped with a granularity of n bits.
  • Step 309 The receiving end device multiplexes the x second data streams with bit granularity to obtain y first data streams.
  • step 301 For the implementation of the foregoing step 301, step 302, step 303, step 305, step 306, step 308, and step 309, you can refer to step 201, step 202, step 203, step 205, and step in the second optional implementation manner in sequence.
  • step 206, step 208, and step 209 are not repeated in the embodiment of the present application.
  • the sending end device maps the x second data streams with n (n ⁇ 2) bits as the granularity to obtain z third data streams, and add z
  • the third data stream uses n bits as the granularity, and s fourth data streams are obtained by mapping. Therefore, in the process of data transmission between the sending end device and the receiving end device, n bits are used as the unit symbol of the transmission, which is compared with the traditional In a data transmission mode using 1 bit as a unit symbol, if the transmitted data carries burst error data, there are fewer error unit symbols, which reduces the number of error unit symbols in the transmission process. Reduce the spread of burst error data and improve the reliability of data transmission. Further, the data format and the number of channels supported by the receiving end device can also be matched to achieve compatibility with the receiving end device.
  • FIG. 12 shows a flowchart of a data transmission method provided by an embodiment of the present application.
  • the data transmission method can be applied to the system shown in FIG. 6, as shown in FIG. As shown, the method includes:
  • Step 401 The sending end device obtains y first data streams, and the y first data streams are obtained through BitMux processing.
  • Step 402 The sending end device performs demultiplexing processing on the acquired y first data streams to obtain x second data streams.
  • Step 403 The sending end device maps the x second data streams with a granularity of n bits to obtain z third data streams.
  • Step 404 The sending end device maps z third data streams with a granularity of n bits to obtain x fifth data streams, and multiplexes the x fifth data streams with a bit granularity to obtain s fourth data streams. data flow.
  • the receiving device supports receiving s fourth data processed with bit granularity.
  • Stream that is, the data format of the receiving end device is a format divided into bits at the granularity.
  • the sending end device can transfer z third data streams Using n bits as the granularity, mapping to obtain x fifth data streams, and then mapping the x fifth data streams with bit granularity to obtain s fourth data streams, so that the z third data streams are converted into s
  • the fourth data stream is to match the data format and the number of channels supported by the receiving end device.
  • the x fifth data streams and the aforementioned x second data streams have at least the same data attributes, for example, both are data transmitted by the PMA layer, and both are transmitted through the PMA channel.
  • the x fifth data streams are at least the same as the aforementioned x second data streams. At this time, they can be the x second data streams in step 402. Then, the z third data streams are taken as n bits Granularity, the mapping process in x fifth data streams is obtained by mapping, which is opposite to the mapping process in step 402 above.
  • Step 403 and step 404 may be executed by the same module of the same device, or may be executed by different modules of the same device.
  • the main chip may execute the above steps 403 and 404 to obtain s fourth data streams.
  • the sending end device includes a main chip and a CDR chip
  • the main chip can execute the above step 403, and then the main chip sends the z third data streams obtained in step 403 to the CDR chip, and the CDR chip executes step 404 to obtain s fourth data streams.
  • Step 405 The sending end device outputs the s fourth data streams through the output channel.
  • Step 406 The receiving end device receives s fourth data streams through the input channel.
  • Step 407 The receiving end device demultiplexes the s fourth data streams with bit granularity to obtain x fifth data streams, and maps the x fifth data streams with n bits as the granularity to obtain z th data streams. Three data streams.
  • the sending end device executes the above step 404, correspondingly, the receiving end device needs to convert s fourth data streams into z third data streams, that is, perform the reverse process of the above step 404, the implementation process can refer to The foregoing step 404 is not repeated in this embodiment of the application.
  • Step 408 The receiving end device maps the z third data streams with a granularity of n bits to obtain x second data streams, and the z third data streams are obtained by mapping with a granularity of n bits.
  • Step 409 The receiving end device multiplexes the x second data streams with bit granularity to obtain y first data streams.
  • step 401 for the implementation of the foregoing step 401, step 402, step 403, step 405, step 406, step 408, and step 409, please refer to step 201, step 202, step 203, step 205, and step in the second optional implementation manner described above.
  • step 206, step 208, and step 209 are not repeated in the embodiment of the present application.
  • the sending end device maps the x second data streams with n (n ⁇ 2) bits as the granularity to obtain z third data streams
  • the sending end The device maps z third data streams with bit granularity to obtain s fourth data streams and then outputs them. It can also match the data format and the number of channels supported by the receiving end device (such as the existing standard receiving end device). Achieve compatibility with the receiving device.
  • the sending end device may be based on the determined data format and/or supported by the receiving end device. Or the number of channels, choose to execute steps 104, 204, 304, or 404 and the corresponding subsequent processes. In this way, the sending end device can support multiple sending modes, and each mode can correspond to one of the aforementioned optional implementations. After the sending end device determines the data format and/or the number of channels supported by the receiving end device, it can be adjusted to Corresponding modes to match the data format and/or the number of channels supported by the receiving end device, thereby improving the flexibility of data transmission.
  • the transmission channel can be a physical channel or a virtual channel). Channel
  • the output channel and data format of the data to be transmitted may be different from the data format and/or the number of input channels received by the receiving end device.
  • the other transmission device can be a relay device of the aforementioned sending end device, which is a receiving end device relative to the aforementioned sending end device. Compared with the foregoing receiving end device being the sending end device, the subsequent fifth and sixth optional implementation manners are described assuming that the other transmission device is the sending end device as an example.
  • the embodiment of the present application also provides the following two Data transmission methods, including:
  • the fifth optional implementation manner It is assumed that the data supported by the receiving end device is s fourth data streams processed with a granularity of q bits, where s is a positive integer and q ⁇ 2, that is, the receiving end device
  • the data format of is a format divided by q bits, and the number of input channels is s.
  • FIG. 13 shows a flowchart of a data transmission method provided by an embodiment of the present application. As shown in FIG. 13, the method includes:
  • Step 501 The sending end device maps the z third data streams with a granularity of n bits to obtain x fifth data streams, and the z third data streams are obtained by mapping with a granularity of n bits.
  • z, n, and x are all positive integers, and n ⁇ 2.
  • the z third data streams may be generated by the sending end device, or may be received data sent by other devices, which is not limited in this embodiment of the present application.
  • Step 502 The sending end device maps the x fifth data streams with a granularity of q bits to obtain s fourth data streams.
  • Step 503 The sending end device outputs the s fourth data streams respectively through output channels.
  • step 501 and step 502 refer to the implementation of step 204 in the second optional implementation
  • step 503 can refer to the implementation of step 205 in the second optional implementation. This is not repeated in the embodiment of this application.
  • Step 504 The receiving end device receives s fourth data streams through the input channel.
  • Step 505 The receiving end device maps the s fourth data streams with a granularity of q bits to obtain x second data streams.
  • Step 506 The receiving end device maps the x second data streams with a granularity of n bits to obtain z third data streams.
  • s, q, x, n, and z are all positive integers, and q ⁇ 2, n ⁇ 2.
  • step 501 and step 502 please refer to the implementation of step 204 in the second optional implementation, and the implementation of step 503 and step 504 can refer to the steps in the second optional implementation.
  • step 505 and step 506 can refer to step 207 in the second optional implementation manner described above. This is not repeated in the embodiment of the application.
  • the received data supported by the receiving end device is s fourth data streams processed with bit granularity, where s is a positive integer, that is, the data format of the receiving end device is Bit is a format of granular division, and the number of input channels is s.
  • FIG. 14 shows a flowchart of a data transmission method provided by an embodiment of the present application. As shown in FIG. 14, the method includes:
  • Step 601 The sending end device maps the z third data streams with a granularity of n bits to obtain x fifth data streams, and the z third data streams are mapped with a granularity of n bits.
  • z and w are both positive integers, and n ⁇ 2.
  • the z third data streams may be generated by the sending end device, or may be received data sent by other devices, which is not limited in this embodiment of the present application.
  • the z third data streams are mapped with a granularity of n bits, which avoids that when there is a burst of error data in the data stream before the z third data streams, the z third data streams will further cause the burst error data. diffusion.
  • Step 602 The sending end device multiplexes the x fifth data streams with bit granularity to obtain s fourth data streams.
  • Step 603 The sending end device outputs the s fourth data streams through the output channel.
  • step 601 and step 602 please refer to the implementation of step 404 in the fourth optional implementation, and the implementation of step 603 can refer to the implementation of step 405 in the fourth optional implementation. This is not repeated in the embodiment of this application.
  • the actions performed by the receiving end device may refer to the actions of the traditional receiving end device, which will not be repeated in this embodiment of the application.
  • the sending end device since the sending end device maps z third data streams with a granularity of n bits to obtain x fifth data streams, it can support n bits as a granularity. Data processing, and the sending end device can map x fifth data streams with bit granularity to obtain s fourth data streams and then output, which can match the data format and the number of channels supported by the receiving end device to achieve the Compatibility of the receiving device.
  • the x fifth data streams in step 501 and step 601 have at least the same attributes as the x second data streams, for example, both are data transmitted by the PMA layer, and both are transmitted through the PMA channel, or, Both are transmitted through the FEC channel. Further, the x fifth data streams and the aforementioned x second data streams at least have the same data content. At this time, the x fifth data streams may be the ones in the aforementioned step 202 x second data streams.
  • n and/or q can be the number of bits contained in one FEC symbol, and the value of n and q can be determined according to the pair of current transmitter or receiver devices.
  • the transmission method can be an application scenario compatible with IEEE802.3ck.
  • each data stream may be further processed in the transmission process.
  • the sending end device can be in different application scenarios, the data stream to be transmitted of the sending end device may go through a complex transmission environment, resulting in bursts of error data. Therefore, the sending end device can use the data stream to be transmitted Perform error correction processing during the transmission process to reduce burst error data.
  • the error correction processing may be FEC codeword error correction processing, which is also called RS error correction (Reed-Solomon error correction), or FEC recovery (FEC recovery).
  • the data stream to be transmitted is a data stream generated by the sending end device
  • the data stream to be transmitted is transmitted between the various levels in the sending end device (for example, between different levels of each module, such as the transmission
  • the end device includes a main chip, a CDR chip, and an optical module. If the transmitted data stream is transmitted between the main chip, CDR chip, and optical module, burst error data may be generated. Therefore, the sending end device needs to correct the data stream to be transmitted. Wrong processing.
  • the sending end device includes a main chip and an optical module (the optical module is integrated with a CDR chip)
  • the optical module is integrated with a CDR chip
  • the optical module because the data to be transmitted in the main chip needs to be transmitted to the optical module through the AUI interface, and then output through the optical module, but to be transmitted
  • many burst errors may occur. Therefore, when the optical module receives the data to be transmitted from the main chip, it needs to pass the FEC code to the data to be transmitted Word error correction processing, so as to correct the burst error data introduced by the AUI interface of the data to be transmitted, and ensure the accuracy of the data to be transmitted.
  • the error correction processing is usually performed by the CDR chip in the optical module, so that the data transmission method is used in the application scenario with the CDR chip (referred to as the CDR scenario), and the FEC codeword error correction processing (That is, it supports the FEC algorithm) to realize the FEC relay in the Ethernet transmission process in the CDR scenario.
  • the error correction processing is an optional step.
  • the sending end device When the data stream to be transmitted is a data stream that needs to be transferred by each module in the sending end device (that is, the data stream to be transmitted is a data stream that is transmitted across modules), or the sending end device is a relay device (that is, the data stream to be transmitted) When it is a data stream transmitted across devices), because the data stream may generate more burst errors when transmitted across modules or devices, the sending end device needs to perform error correction processing on the received data stream , So as to ensure the accuracy of data transmission.
  • the transmitting end device when the transmitting end device receives the data stream to be transmitted sent by the main chip of another device through the optical module, since the data stream to be transmitted will pass through the PMD layer when output through the main chip, the PMD layer is easy to be introduced into the data stream Burst error data, therefore, the received data stream to be transmitted needs to undergo error correction processing to correct the burst error data caused by the PMD layer.
  • the sender device sends a data stream to be transmitted to other devices through an optical module
  • the AUI interface is likely to introduce bursty error data in the data stream Therefore, the optical module needs to undergo error correction processing for the data stream to be transmitted received from the main chip, so as to correct the burst error data introduced by the AUI layer.
  • the main chip will The data to be transmitted is transmitted to the optical module (refers to the chip to module (C2M)), or the main chip device transmits the data to be transmitted to the main chip (refers to the chip to chip (C2M)) ), the burst error data can be monitored and located through the FEC code word error correction processing,
  • the FEC codeword error correction processing is performed on the x second data streams, that is, in the embodiment of the present application, the steps 103 and Before step 203, step 303, and step 403, perform FEC codeword error correction processing, where each second data stream in the x second data streams may include part or all of data of one FEC codeword.
  • FEC code word error correction processing can also be performed on the x fifth data streams.
  • error correction process please refer to Error correction process for x second data streams.
  • the sending end device When the sending end device performs FEC code word error correction processing on x second data streams, since one FEC code word error correction processing is performed on data belonging to the same code word, the x second data streams include one In the case of the FEC codeword and the case where multiple FEC codewords are included, the process of performing the FEC codeword error correction processing on the x second data streams by the transmitting end device is different.
  • the embodiments of this application take the following three situations as examples for description:
  • the x second data streams only include data of one FEC codeword.
  • the sending end device can directly perform FEC codeword error correction processing on the data of the x second data streams to obtain x second data streams after error correction.
  • the FEC code word error correction processing process includes: the sending end device performs error correction processing on the data of each code word in the x second data streams in units of FEC code words, so as to obtain x second data streams after error correction. data flow. For example, in 100GE, one second data stream includes data of one codeword codeword, and error correction processing can be performed on the two data streams in units of FEC codewords.
  • each of the x second data streams includes data of multiple FEC codewords.
  • the x second data streams are usually obtained by performing one of the foregoing data processing on the codewords, then When the x second data streams are subjected to FEC codeword error correction processing, the x second data streams including multiple FEC codewords need to be subjected to the reverse processing of one of the above-mentioned data processing, so that the second data belonging to different codewords Stream data is separated.
  • the foregoing certain data processing may be mapping processing performed at the granularity of FEC symbols.
  • the mapping processing may be codeword interleaving processing.
  • the data content of one codeword are: S11, S12, and S13
  • the data content of another codeword are S21, S22, and S23
  • S11, S12, S13, S21, S22, and S23 respectively represent at least one FEC
  • the data content of the symbol the data of a second data stream obtained by performing codeword interleaving processing on the data of the one codeword includes S11, S21, S12, S22, S13, and S23.
  • the process of error correction processing for the FEC codeword usually includes:
  • Step A1 Perform demapping processing with FEC symbol granularity for x second data streams to obtain data in units of FEC codewords.
  • the foregoing demapping processing is the reverse processing of the mapping processing.
  • the mapping processing is codeword interleaving processing
  • the demapping processing is decoded word interleaving processing.
  • the data of the second data stream is decoded word interleaving, and the data in the unit of FEC code word is obtained as: S11, S12, S13, S21, S22, and S23, where S11, S12 and S13 form a code word, and S21, S22 and S23 form a code word.
  • Step A2 FEC codeword error correction processing is performed on the data with the FEC codeword as the unit, to obtain error-corrected data.
  • the sending end device performs FEC code word error correction processing on the data with the FEC code word as a unit, and obtains data of multiple FEC code words after error correction.
  • the error correction processing of the FEC codeword is the same as the error correction processing of the FEC codeword in the first case described above, which will not be repeated in this embodiment of the present application.
  • Step A3 Perform mapping processing on the error-corrected data with the granularity of FEC symbols to obtain x second data streams after error correction.
  • the x second data streams obtained after error correction are in the same format as in step A1, which ensures that the x second data streams are FEC codeword corrected Before and after the error processing, the data format of the x second data streams will not change.
  • codeword interleaving processing is performed on the error-corrected data: S11, S12, S13, S21, S22, and S23 to obtain a second data stream: S11, S21, S12, S22, S13 and S23.
  • each FEC codeword used in the codeword interleaving processing of x second data streams into three parts of data.
  • Each FEC codeword can also be divided into multiple data.
  • each FEC codeword can be divided into 544 parts of data, and each part of data is 1 FEC symbol.
  • the sender device may also perform other processes.
  • the sender device may include multiple FEC codewords in each of the x second data streams.
  • the error-corrected data is mapped with the FEC symbol as the granularity, and no interleaving is performed. In this way, the data is guaranteed
  • the correctness of the transmission can reduce the data processing process, reduce the code word interleaving process, accelerate the data processing speed, and save the processing overhead.
  • the sending end device may not perform FEC codeword error correction processing, which can reduce the data processing process under certain circumstances, speed up the data processing, and save processing overhead.
  • the x second data streams include data of multiple codewords, and each second data stream only includes data of one FEC codeword.
  • the x second data streams may include data of different codewords, and each second data stream only includes data of one FEC codeword.
  • the data of one second data stream includes S11, S12, and S13.
  • the sending end device only needs to perform step A2 to complete the FEC codeword error correction processing for the x second data streams.
  • the receiving end device can also be Perform error correction processing to ensure the accuracy of subsequent data. Then, before step 107, step 209, step 309, and step 409, the receiving end device can perform FEC codeword error correction processing on x second data streams.
  • the FEC codeword error correction processing is the same as the foregoing principle, because one time The FEC codeword error correction process is performed on the data belonging to the same codeword.
  • the receiving end device pairs x The process of performing FEC code word error correction processing on the second data stream is different.
  • the processing principles for the x fifth data streams are the same, which is not repeated in the embodiment of the present application.
  • the process of the receiving end device performing FEC codeword error correction processing on x second data streams includes: when the x second data streams only include data of one FEC codeword, the receiving end device can directly perform the X The second data stream performs FEC code word error correction processing to obtain x second data streams after error correction; when each of the x second data streams includes data of multiple FEC code words, the receiving end The device can first perform demapping processing with FEC symbol granularity for the x second data streams to obtain data in units of FEC codewords, and then perform FEC codeword error correction processing on data in units of FEC codewords.
  • the error-corrected data stream is obtained, and then the error-corrected data is mapped with the FEC symbol as the granularity to obtain x second data streams after the error correction.
  • x second data streams include data of multiple FEC code words, and each second data stream only includes data of one FEC code word
  • the receiving end device can also directly perform FEC codes on the x second data streams Word error correction processing obtains x second data streams after error correction. In this way, the receiving end device performs FEC codeword error correction processing on the x second data streams to ensure the accuracy of the data in the subsequent processing.
  • the process of performing FEC codeword error correction processing is the same as that performed by the foregoing transmitting end device for x second data streams.
  • the process of performing the FEC code word error correction processing on the data stream is the same.
  • the FEC code word error correction processing performed by the receiving end device please refer to the foregoing implementation of the FEC code word error correction processing performed by the transmitting end device. I won't repeat it here.
  • the sending end device may preprocess the x second data streams to ensure the validity of the data in the subsequent processing.
  • the preprocessing may be at least one of the following processing methods: alignment (also called alignment lock), deskew, and lane reorder.
  • the data in the x second data streams may cause data storage unevenness .
  • the process may cause process errors when loading (also called reading) and processing unaligned data. Therefore, the sender device locks x second data streams for data alignment to ensure that the data can be loaded smoothly And transfer.
  • x second data streams can be aligned at the granularity of FEC symbols. It should be noted that the length of one FEC symbol is a fixed value. For example, in the application scenario of the IEEE802.3ck standard, the FEC symbol The length is 10 bits.
  • the y first data streams are obtained through BitMux processing.
  • disorder and offset of the data streams may be introduced, and the y first data streams are obtained by mapping
  • the x second data streams may also have out-of-order and offset of the data streams. Therefore, the sending end device can also de-offset and reorder the x second data streams to obtain the correct x-th data stream. 2.
  • Data of the data stream For example, the above-mentioned alignment, de-offset, and reordering may be performed with a granularity of n bits.
  • step 105 step After 206, step 306 and step 406, the receiving end device may preprocess the received data stream to ensure the validity of the data in the subsequent processing.
  • the implementation process of this preprocessing is the same as the implementation process of the above-mentioned sending end device preprocessing the x second data streams, which will not be repeated in this embodiment of the application.
  • the data received by the receiving end device is y first data streams
  • the receiving end device preprocesses the y first data
  • the receiving end device preprocesses the y first data
  • the receiving end device preprocesses the s fourth data streams
  • the receiving end device preprocesses the s fourth data streams.
  • the sending end device and the receiving end device can still perform the aforementioned preprocessing process on the acquired data stream.
  • the preprocessing process can Refer to the foregoing process of preprocessing the x second data streams.
  • the data in the z third data streams since the data in the z third data streams is transmitted to the receiving end device across devices, the data of the z third data streams may have uneven data storage and out-of-order data streams. Offset from the data stream, therefore, before performing step 106, the z third data streams can be aligned, offset, and/or reordered to obtain the correct z third data Stream, thereby ensuring the validity of the data in subsequent processing.
  • the sending end device can choose whether to re-encode the data of the x second data streams according to actual needs, so as to meet more needs. Then, before step 103, step 203, step 303, and step 403, the sending end device may re-encode the data of x second data streams. Since there are multiple ways for the transmitting end device to re-encode the data of the x second data streams, the embodiment of the present application takes the following two as examples for description.
  • the transmitting end device performs inner FEC encoding (inner FEC encode) on the x second data streams to obtain x second data streams after encoding.
  • the x second data streams usually have undergone the first FEC encoding, and the transmitting end device performs inner code FEC encoding on the x second data streams, and the resulting encoded
  • the x second data streams of X have actually undergone two FEC encodings.
  • the first FEC encoding can be called outer code FEC encoding relative to the inner code FEC encoding, and the two encodings can be called concatenated encoding.
  • the x second data streams can be called concatenated encoded data.
  • the inner code FEC encoding makes the encoded data after encoding carry a check bit of a certain length, and the concatenated encoding refers to re-encoding with codeword as the granularity.
  • the first FEC code is RS(544,514)
  • the concatenated code generated after the transmitting end device performs inner code FEC encoding on x second data streams can be called cascaded with RS(544,514) FEC code.
  • the Ethernet interface of the sender device supports the cascaded FEC encoding algorithm based on RS (544,514) as the outer code during data transmission ( Also called concatenated code) extension, so that the data transmission method can be adapted to more application scenarios, and the versatility of the data transmission method is improved. Further, since the x second data streams are encoded multiple times, the protection level of the data is improved, and the reliability of data transmission is further guaranteed.
  • the code pattern of the inner code FEC encoding can be one of the following code patterns: Reed-Solomon (RS) code, Bose-Chaudhuri mother code (Bose-Chaudhuri) -Hocquenghem (BCH) code, Hamming (Hamming) code, low density parity check (LDPC) code, polar code or convolutional code.
  • RS Reed-Solomon
  • Bose-Chaudhuri mother code Bose-Chaudhuri -Hocquenghem
  • BCH Bose-Chaudhuri -Hocquenghem
  • Hamming Hamming
  • LDPC low density parity check
  • the transmitting end device performs second FEC encoding on x second data streams to obtain x second data streams after encoding, wherein the encoding method of the second FEC encoding is the same as that of step 101 above.
  • the encoding mode of the first FEC encoding is different from that of and, the codeword of the second FEC encoding may be one of the following codewords: RS code, BCH code, Hamming code, LDPC code, polar code, or convolutional code.
  • the second FEC encoding may be enhanced FEC encoding (stronger FEC encoding), and the enhanced FEC encoding refers to an encoding manner in which the protection level of data is higher than that of the first FEC encoding.
  • the Ethernet interface of the sender device can support the expansion of enhanced FEC encoding during data transmission, and the sender device performs second FEC encoding on x second data streams to improve the protection level of the data and further protect the data Reliability of transmission.
  • the foregoing sending end device performs second FEC encoding on the x second data streams, and the process of obtaining the encoded x second data streams may include:
  • Step B1 Remove the check bit of each second data stream in the x second data streams.
  • Step B2 Perform the second FEC encoding on the x second data streams after the check bit is removed to obtain x second data streams after encoding.
  • the sending end device performs the second FEC encoding on the x second data streams after the check bit is removed, that is, the sending end device performs the second FEC encoding on the x second data streams (or the data without the check bit) ) Perform the second FEC encoding.
  • the data transmission method can be adapted to more application scenarios, and the versatility of the data transmission method is improved. At the same time, it also increases the data The type of protection further ensures the reliability of data transmission.
  • the sending end device re-encodes x second data streams before step 103, step 203, step 303, and step 403, correspondingly, when the receiving end device receives the re-encoded data , The re-encoded data needs to be decoded. Therefore, the receiving end device may perform the decoding process of re-encoding before step 107, step 209, step 309, and step 409. Since there are many ways for the transmitting end device to re-encode data, correspondingly, the receiving end device re-encodes the x second data streams received by the receiving end device according to the way the transmitting end device re-encodes the data.
  • the decoding process of the re-encoding may include:
  • the transmitting end device performs inner code FEC encoding on the data
  • the receiving end device performs inner FEC decoding (inner FEC decode) on the data.
  • the internal code FEC decoding process may include:
  • Step C1 The receiving end device performs inner code FEC decoding on the x second data streams to obtain x second data streams after decoding.
  • the inner code FEC decoding method corresponds to the inner code FEC encoding method of the data by the transmitting end device
  • the realization process of the inner code FEC decoding may be the realization process of the foregoing receiving end device performing inner code FEC encoding on the data.
  • the counter process corresponds to the inner code FEC encoding method of the data by the transmitting end device
  • the realization process of the inner code FEC decoding may be the realization process of the foregoing receiving end device performing inner code FEC encoding on the data.
  • Step C2 The receiving end device removes the check digits contained in the x second data streams after the decoding process to obtain x second data streams after the check digits are removed.
  • the second data stream is added when the inner code FEC is encoded.
  • the receiving end device removes the check digits contained in the x second data streams after the decoding process, to obtain x second data streams after the check digits are removed, and restore the x second data streams to the sending end device pair The state before encoding the x second data streams.
  • the inner code FEC decoding process is the process of performing FEC code word error correction processing on the x second data streams
  • the receiving end device also FEC codeword error correction processing is performed on the x second data streams to ensure the accuracy of the data in the subsequent processing.
  • the code pattern of the inner code FEC decoding is the same as the code pattern of the inner code FEC encoding performed by the transmitting end device on the data.
  • the code pattern of the inner code FEC encoding can also be one of the following code types : RS code, BCH code, hamming, LDPC, polar or convolutional code.
  • the sending end device performs the second FEC encoding on the data
  • the receiving end device correspondingly performs the second FEC decoding (FEC decode) on the data.
  • the second FEC encoding that the sender device usually performs on the data is enhanced FEC encoding. Therefore, correspondingly, the second FEC decoding that the receiver device usually performs on the data is enhanced FEC decoding. (stronger FEC decode).
  • the foregoing second FEC decoding process may include:
  • Step D1 The receiving end device performs second FEC decoding on the x second data streams to obtain x second data streams after decoding.
  • the second FEC decoding method corresponds to the second FEC encoding method for the data by the sending end device
  • the second FEC decoding process may be the second FEC encoding process for the receiving end device.
  • the counter process corresponds to the second FEC encoding method for the data by the sending end device, and the second FEC decoding process may be the second FEC encoding process for the receiving end device.
  • Step D2 The receiving device performs the first FEC encoding on the x second data streams after decoding to obtain x second data streams after encoding.
  • the encoding method corresponding to the second FEC decoding is different from the encoding method of the first FEC encoding. .
  • the receiving end device performs the first FEC encoding on the decoded x second data streams to obtain the encoded x second data streams, which ensures that the x second data streams after the encoding and the sending end device pair x second data streams.
  • the data stream before the second FEC encoding is the same.
  • the second FEC decoding process is a process of performing FEC code word error correction processing on the x second data streams
  • the receiving end device simultaneously performs FEC codes on the x second data streams Word error correction processing ensures the accuracy of the data in subsequent processing.
  • the second FEC encoding is enhanced FEC encoding
  • the receiving end device performs enhanced FEC decoding on x second data streams
  • the correction ability is strong.
  • the x second data streams decoded by enhanced FEC do not contain erroneous data (for example, burst error data generated by PMD layer transmission), and the receiving end device may not execute the aforementioned FEC code Word error correction processing reduces data processing steps and reduces processing overhead.
  • the code pattern of the second FEC decoding is the same as the code pattern of the second FEC encoding performed by the transmitting end device on the data.
  • the code pattern of the second FEC encoding may also be one of the following code patterns : RS code, BCH code, hamming, LDPC, polar or convolutional code.
  • the sending end device re-encodes the data of the x second data streams, usually before step 103, step 203, step 303, and step 403, the sending end device performs FEC on the x second data streams
  • the codeword is executed after the error correction process, which can effectively ensure the accuracy of the re-encoded data.
  • the receiving end device performs the decoding process of re-encoding the data of the x second data streams, usually before the receiving end device performs the FEC code word error correction processing on the x second data streams, then the receiving end device usually Perform FEC codeword error correction processing on the x second data streams after the re-encoded decoding processing.
  • the output channel of the sending device may be damaged. Once the damaged output channel is used for data transmission, it may cause the loss of transmission data. Therefore, in order to ensure the effective transmission of data, the sending device can Determine the number z of the third data stream before the above step 103; the sending end device can also determine the number s of the fourth data stream before the above step 204, step 304, step 404, step 502, and step 602, and When outputting a data stream, the data stream is outputted one by one through the output channel. In this way, it can be ensured that the number of output data streams is equal to the number of output channels that are actually output, so that the output data streams correspond to the output channels one to one.
  • the number of output data streams is less than or equal to the number of available output channels. For example, suppose the number of output channels of the current sending end device is 10, and 2 output channels are damaged, then the sending end device can determine that the number of currently available output channels is 8, and then determine the number of third data streams z ⁇ 8, or determine the number of fourth data streams s ⁇ 8. In this way, the way of flexibly determining the number of output channels ensures the integrity of data output and improves the efficiency of data transmission.
  • the number of output data streams is equal to the number of preset output channels, that is, before the sending action, the number of output channels used by the sending end device for data stream output is preset, which is fixed Value, the sending end device directly determines the number of preset output channels as the number of the third data stream or the fourth data stream.
  • the coding difficulty in the actual implementation of the data transmission method can be reduced, the data processing process can be simplified, and the processing overhead can be saved.
  • step 103, step 203, step 303, and step 403 the process of mapping the z third data streams obtained by the sending end device mapping the x second data streams with a granularity of n bits can be implemented in multiple ways.
  • mapping processes for the receiving end device to map z third data streams with a granularity of n bits to obtain x second data streams in step 106, step 208, step 308, and step 408, which are implemented in this application Examples illustrate the following situations:
  • mapping process of the sending end device includes:
  • Step E1 The sending end device polls each of the x second data streams.
  • Round robin refers to sequential access (also called inquiry).
  • the sending end device polls each of the x second data streams means that the sending end device periodically sends out access to each second data stream in sequence, and the access process is executed periodically.
  • every time a second data stream is accessed the continuous n-bit data in the second data stream is obtained.
  • Step E2 The sending end device maps consecutive n-bit data in each second data stream obtained by polling in turn to obtain a third data stream.
  • the process in which the sender device polls x second data streams once is called a polling process or a polling cycle, that is, it can obtain x n-bit data in a polling cycle.
  • a polling cycle there can be multiple polling sequences for the sending end device to poll x second data streams.
  • the polling sequence refers to the sending end device polling x second data streams.
  • the polling sequence may be a preset sequence, or a sequence determined by the sending device according to actual conditions or set rules.
  • the polling sequence may be any of the following:
  • the serial number of the data stream may be an independent identification symbol configured for the data stream, or may be expressed by the transmission channel number of the data stream, or expressed by the AM carried by it.
  • the polling sequence used for every two adjacent polling periods is the same (that is, the polling sequence used for any two rounds of x second data streams is the same), that is, the same polling sequence is used.
  • the mapping process of the receiving end device includes: the receiving end device sequentially maps consecutive n-bit data in a third data stream to obtain x second data streams, that is, the granularity of each mapping is n bits.
  • the process in which the receiving end device maps x different second data streams at a time is called a round of mapping process or a mapping period, in which, in a mapping period, z third data streams can be Acquire x n-bit data.
  • the data mapping sequence of the receiving end device is usually the same as the aforementioned polling sequence.
  • the mapping sequence means that the receiving end device maps the acquired x n-bit data to x
  • the order of the second data stream, the mapping order can be any of the following:
  • the third data stream may have a data arrangement problem.
  • the receiving end device previously maps 1 third data stream with n-bit data as the granularity, and obtains
  • the third data stream may need to be pre-processed before the x second data streams in order to ensure the validity of the data in the subsequent processing.
  • the preprocessing may be at least one of the following processing methods: alignment, de-offset, and reordering processing.
  • the data arrangement of a third data stream obtained by preprocessing may be different from the previous third data stream.
  • the data mapping sequence of the receiving end device is no longer the same as the aforementioned polling sequence, as long as the receiving end device is guaranteed to be mapped It is sufficient to obtain the second data stream in the required format and number, which is not limited in the embodiment of the present application.
  • x second data stream only contains data of one FEC code word K (that is, data with only one FEC code word is divided into 10 bits (FEC symbol ) Is the granular distribution to the x second data streams, and this process is referred to as symbol distribution for short.
  • the mapping process between the transmitting end device and the receiving end device will be described. Assuming that the one FEC codeword includes data of 544 FEC symbols, the identifiers of the data of the 544 FEC symbols are C 0 to C 543 , and the sequence numbers of the x second data streams are 0 to x-1, respectively.
  • a second data stream includes data of 544/x FEC symbols, for example, the x-1 second data stream includes FEC symbols C 544-X to C 0 , and the x-2 second data stream includes FEC Symbols C 544-X+1 to C 1 .
  • the FEC code word K drawn in FIG. 15 is just for the reader to understand that the x second data includes data from one FEC code word K. In actual implementation, the x second data in FIG. 15 The data stream is not obtained by direct symbol distribution of the FEC code word K.
  • mapping (ie, symbol mapping) process of the sender device includes:
  • the sending end device polls the first second data stream (that is, the second data stream with a sequence number of 0) to the xth second data stream (that is, the second data stream with a sequence number of x-1), and sequentially Map the C 543 (first continuous 10-bit data) of the first second data stream to the third data stream, and map the C 542 (first continuous 10-bit data) of the second second data stream To the third data stream,..., the x-1th second data stream C 544-X+1 (the first continuous 10-bit data) is mapped to the third data stream, and the xth second data stream The C 544-X+1 of the data stream (the first continuous 10-bit data) is mapped to the third data stream,...
  • the polling sequence is the increasing sequence of the sequence number of the second data stream.
  • mapping (ie, symbol mapping) process of the receiving end device includes:
  • the receiving device sequentially maps C 543 (the first continuous 10-bit data) of the third data stream to the first second data stream, and maps C 542 (the second continuous 10-bit data) to the second data stream.
  • the second data stream ..., until C 0 (the last continuous 10-bit data) is mapped to the xth second data stream to obtain a complete x second data stream.
  • the mapping order is the first 2.
  • the mapping process of the 100GAUI-1 interface of the transmitter device includes: the transmitter device polls the first second data stream to the second data stream. 4 second data streams, and then sequentially map the C 543 of the first second data stream to the third data stream, and map the C 542 of the second second data stream to the third data stream.
  • the C 541 of the second data stream is mapped to the third data stream, and the C 540 of the fourth second data stream is mapped to the third data stream,... until the C 0 of the fourth second data stream is mapped In the third data stream, a complete third data stream is obtained.
  • the receiving end device sequentially maps the third data stream C 543 to the first second data stream,... until the third data stream C 1 is mapped to the third second data Stream, map C 0 of the third data stream to the fourth second data stream to obtain the complete 4 second data streams.
  • the receiving end device since the x second data streams are mapped to only one third data stream, when the data stream is continuously transmitted through the channel of the AUI-1 interface, the receiving end device does not need to perform this one third data stream Alignment processing.
  • the receiving end device since the relative relationship between the x second data streams is fixed (for example, each second data stream contains a fixed number of FEC symbol data), the receiving end device can The data is delimited once, that is, the boundary of the data stream is determined only once, and the boundary of each x second data stream can be determined.
  • an FEC codeword includes data and check digits, and for the same FEC codeword, there is a unique relationship between the data and check digits (this relationship can be called a check relationship), and the check relationship can be used to determine Whether the data belongs to the same codeword.
  • the receiving device can Taking the data volume of one FEC codeword as the granularity, self-defining the check relationship of the data to determine whether the data belongs to an FEC codeword, or the first FEC symbol of the FEC codeword can also be determined to determine the Whether the data is the above-mentioned 1 third data stream, and then determining the boundary of the channel of the 1 third data stream, the boundary of each x second data stream can be determined.
  • the mapping relationship between the x second data streams and one third data stream is an x-to-1 mapping relationship, and the third data stream
  • the process of step 1033 above can be replaced with: add an alignment word to the 1 third data stream
  • the alignment of the aforementioned x second data streams can be selected
  • One of the words is used as the alignment word of the third data stream.
  • the alignment word of the first second data stream is used as the alignment word of the third data stream, so that the original alignment word of the first second data stream may not be deleted.
  • mapping process of the sending end device includes:
  • Step F1 The sending end device polls each of the x second data streams.
  • Step F2 The sending end device maps the continuous n-bit data in each second data stream obtained by polling in turn to obtain a third data stream.
  • the foregoing steps F1 and F2 can refer to the procedures of the foregoing steps E1 and E2, and the same as the foregoing first case, in this second case, in one polling cycle, the sending end device polls x second There may be multiple polling sequences for data streams.
  • the polling sequence refers to the sequence in which the sender device polls x second data streams.
  • the polling sequence can refer to the polling sequence in the first case described above. The difference from the aforementioned first case is that in the second case, the polling sequence used for every two adjacent polling periods is different, that is, different polling sequences are used.
  • the polling sequence used for every two adjacent polling periods includes: in one polling period, the polling sequence is the sequence of increasing the sequence number of the second data stream, and in the other polling period, the polling sequence It is: the sequence of the second data stream with odd serial numbers first, even serial numbers, and odd-even serial numbers interleaved one by one.
  • x 8 where, assuming that the sequence numbers of the eight second data streams are 0 to 7, the polling sequence used in every two adjacent polling cycles includes: in a polling cycle, the polling sequence In an increasing order from 0 to 7, in another polling cycle, the polling sequence is: 1, 0, 3, 2, 5, 4, 7, 6, with odd serial numbers first, even serial numbers, and odd-even serial numbers one An interleaved sequence of the second data stream.
  • mapping process of the receiving end device includes:
  • the receiving end device sequentially maps successive n-bit data in one third data stream to obtain x second data streams.
  • the mapping process of the receiving end device can refer to the mapping process of the receiving end device in the foregoing first case, and it is the same as the foregoing first case, and for the same reason, in the second case, the receiving end device performs the mapping.
  • the mapping sequence is usually the same as the polling sequence of the sending end device. This consistency means that the overall mapping sequence of the receiving end device for mapping is usually the same as the overall polling sequence of the sending end device.
  • the sending end When the device is polling, the polling sequence used in each two adjacent polling cycles is different.
  • the mapping sequence of each adjacent two sets of data is different when the receiving end device performs mapping, and each set of data includes x n-bit data.
  • the mapping order used for each two adjacent sets of data includes: for one group of data, the mapping order is the order of increasing sequence number of the second data stream, and for the other group of data, the mapping order is: odd sequence first The sequence of the second data stream with an even serial number after the number, and the parity serial number is interleaved one by one.
  • mapping order used for each adjacent two sets of data includes: for a set of data, the mapping order is 0 to 7
  • the mapping order is: 1, 0, 3, 2, 5, 4, 7, 6, the second data stream with odd serial numbers followed by even serial numbers, and odd and even serial numbers interleaved one by one order of.
  • x second data stream contains data of two FEC codewords A and codeword B (that is, data with two FEC codewords
  • the data is distributed to the x second data streams with a granularity of 10 bits (FEC symbols).
  • FEC symbols 10 bits
  • the data of two FEC codewords is interleaved to the x second data streams with the granularity of FEC symbols.
  • a second data stream includes data of 544 ⁇ 2/8 FEC symbols.
  • the first second data stream includes FEC symbols C A,543 , C B,539 , ... and C B,3
  • the second second data stream includes FEC symbols C B,543 , C A,539 , ...
  • the third second data stream includes FEC symbols C A,542 , C B,538 , ... and C B,2
  • the eighth second data stream includes FEC symbols C B,540 , CA ,536 ,... and C A,0 .
  • the mapping process of the sender device includes:
  • the sending end device polls the first second data stream to the eighth second data stream, and sequentially maps the CA,543 of the first second data stream to the third data In the flow, the C B,543 of the second second data flow is mapped to the third data flow , and the CA,542 of the third second data flow is mapped to the third data flow,..., the eighth The C B,540 of the second data stream is mapped to the third data stream, and then in the second polling cycle, the second second data stream, the first second data stream, and the fourth second data stream are polled.
  • the second data stream, the third second data stream, the sixth second data stream, the fifth second data stream, the eighth second data stream and the seventh second data stream, and the second data stream in turn
  • the CA,539 of the second data stream is mapped to the third data stream
  • the C B,539 of the first second data stream is mapped to the third data stream
  • the CA,539 of the fourth second data stream is mapped to the third data stream
  • 538 is mapped to the third data stream
  • the C B,538 of the third second data stream is mapped to the third data stream
  • the CA,536 of the eighth second data stream is mapped to the third data
  • the polling sequence of the first polling cycle is: the sequence number of the second data stream is increasing, and the polling sequence of the second polling cycle is: 1, 0, 3, 2, 5
  • the order of the second data stream with odd-numbered serial numbers first, even-numbered serial numbers followed by odd-numbered serial numbers of 4, 7, and 6, and the parity serial numbers are interleaved one by one.
  • the mapping process in odd polling periods is the same (refer to the same mapping process in the first polling period), and the mapping process in even polling periods is the same (refer to the mapping process in the second polling period) .
  • mapping process of the receiving end device includes:
  • the data mapped by the receiving end device is the first set of data (ie , CA,543 to C B,540 ), and the receiving end device in turn of the third data stream C A,543 (first A continuous 10-bit data) is mapped to the first second data stream, and C B,543 (the second continuous 10-bit data) is mapped to the second second data stream, and the third data stream is C A,542 (the third continuous 10-bit data) is mapped to the third second data stream, and C B,542 (the fourth continuous 10-bit data) of the third data stream is mapped to the fourth
  • the CA,521 (the fifth continuous 10-bit data) of the third data stream is mapped to the fifth second data stream, and the C B,541 (the sixth A continuous 10-bit data) is mapped to the sixth second data stream, CA ,520 (the seventh continuous 10-bit data) of the third data stream is mapped to the seventh second data stream, and C B, 540 (the eighth continuous 10-bit data) is mapped to
  • the data mapped by the receiving end device is the second set of data (ie CA,539 to C B,536 ), and CA,539 (the ninth consecutive 10-bit data) is mapped To the second second data stream, map C B,539 (the tenth consecutive 10-bit data) to the first second data stream, and map CA,538 (the eleventh consecutive 10-bit data) To the fourth second data stream, map C B,538 (the twelfth consecutive 10-bit data) to the third second data stream, and map CA,537 (the 13th consecutive 10-bit data) To the sixth second data stream, map C B,537 (14th continuous 10-bit data) to the fifth second data stream, and map CA,536 (15th continuous 10-bit data) To the 8th second data stream, map C B,536 (the 16th continuous 10-bit data) to the 7th second data stream,...
  • the mapping sequence of the first mapping period is: the sequence number of the second data stream increases in the order of the second mapping period
  • the mapping sequence is: the sequence of the second data stream with the odd sequence numbers first, the odd sequence numbers followed by the even sequence numbers of 1, 0, 3, 2, 5, 4, 7, 6, and the parity sequence numbers are interleaved one by one.
  • the mapping process in the odd number of mapping periods is the same (refer to the same mapping process in the first mapping period), and the mapping process in the even number of mapping periods is the same (refer to the mapping process in the second mapping period).
  • the receiving end device since only one third data stream is obtained by mapping the x second data streams, when data is continuously transmitted through a channel, the receiving end device does not need to perform alignment processing on the one third data stream, and at the same time, Since the relative relationship between the x second data streams is fixed, the receiving end device can delimit the received data once, that is, only determine the boundary of the data stream once to determine each The boundary of x second data streams.
  • the alignment word of the one third data stream may not need to determine the mapping relationship in step 1033, and the x second data streams can be reused
  • the alignment word of the alignment word that is, the same alignment word can be directly added to the 1 third data stream, which reduces the data processing of alignment word mapping, avoids the implementation burden of additional alignment word mapping relationship processing, and saves processing Overhead.
  • the multiple FEC codewords can be It is 2 FEC code words or at least 3 FEC code words.
  • mapping process of the sending end device includes:
  • Step G1 The sending end device polls each second data stream of the x second data streams in turn, and maps the polled data to the third data stream, until the data of the x second data streams are completely mapped to obtain z A third data stream, each polling obtains continuous n-bit data in each second data stream.
  • the data obtained by any two consecutive polls is mapped to a different third data stream.
  • the foregoing step G1 can refer to the procedures of the foregoing steps E1 and E2, and the same as the foregoing first case, in the third case, in one polling cycle, the sending end device polls x second data streams There can be multiple polling sequences.
  • the polling sequence can refer to the polling sequence in the first case mentioned above.
  • the polling sequence refers to the sequence in which the sending end device polls x second data streams.
  • mapping order used for every two adjacent polling periods is different, and the mapping order refers to The order in which the polled data is mapped to z third data streams, that is, even if the same polling sequence is used in every two adjacent polling cycles, the mapping sequence is different, and the third data is finally mapped
  • the flow is also different.
  • the mapping order adopted in every two adjacent polling periods is the same.
  • the mapping sequence can include any of the following:
  • mapping process of the receiving end device includes:
  • Step H1 The receiving end device polls each third data stream of the z third data streams in turn, and maps the polled data to the second data stream until the data of the z third data streams are completely mapped X second data streams are obtained, and the data obtained by each polling is continuous n-bit data in each third data stream.
  • the polling sequence used in every two adjacent mapping periods is the same or different, and the mapping used in every two adjacent mapping periods The order is the same or different.
  • the polling sequence satisfies any of the following:
  • mapping order satisfies any of the following:
  • sequence of increasing sequence numbers of the second data stream, or the sequence of decreasing sequence numbers of the second data stream, or the sequence of the second data stream with even sequence numbers first, and the sequence of the second data stream with odd sequence numbers last, or, First f1 second data stream with even serial numbers, then f2 second data streams with odd serial numbers, then f3 second data streams with even serial numbers, and then f4 second data streams with odd serial numbers.
  • F1+f2+f3+f4 x, or, first the second data stream with g1 even serial numbers, then the second data stream with g2 odd serial numbers, and then the second data stream with g3 odd serial numbers first,
  • the order of the second data stream with the last g4 even-numbered serial numbers, g1+g2+g3+g4 x, or the order of the second data stream with odd-numbered serial numbers followed by even-numbered serial numbers, and odd-even serial numbers interleaved one by one, Or, other setting sequences can also be set, which is not limited in this application.
  • the receiving end device performs data mapping sequence, that is, the mapping sequence is usually the same as the polling sequence of the transmitting end device in a polling period, and the receiving end device
  • the sequence of data polling is usually the same as the mapping sequence of the transmitting end device in a polling cycle. That is, the mapping sequence of a mapping cycle of the receiving end device corresponds to the polling sequence of a polling cycle of the sending end device, and the polling sequence of a mapping cycle of the receiving end device corresponds to a polling cycle of the sending end device.
  • the mapping order corresponds to the same.
  • the mapping process between the sending end device and the receiving end device may include multiple types.
  • the embodiments of the present application are as follows: Take this as an example.
  • mapping process of the sending end device includes:
  • the transmitting end device polls each second data stream of the 8 second data streams in turn, and maps the polled data to the third data stream, until the data of the 8 second data streams are completely mapped to obtain 2 third data streams. For the data stream, for each second data stream, continuous n-bit data in each second data stream is obtained by polling each time.
  • the polling sequence used in every two adjacent polling periods is the same.
  • the polling sequence is the second data stream with an even serial number first, and the second data stream with an odd serial number last.
  • the sequence of the data stream is to poll the second data stream with an even serial number first, and then poll the second data stream with an odd serial number, and the mapping sequence used in every two adjacent polling cycles is different, for example .
  • the mapping sequence used in one polling cycle is first mapped to the third data stream with an even sequence number, then mapped to the third data stream with an odd sequence number, and the other polling cycle
  • the adopted mapping sequence is the third data stream mapped to the odd sequence number first, and then the third data stream mapped to the even sequence number.
  • This sequence can be regarded as the mapping sequence reversal of the two mapping cycles. For example, for each second data stream, data obtained by any two consecutive polls are mapped to different third data streams.
  • mapping process of the receiving end device includes:
  • the receiving end device polls each third data stream of the two third data streams in turn, and maps the polled data to the second data stream, until the data of the two third data streams are completely mapped to obtain 8 second data streams Data stream, each polling obtains continuous n-bit data in each third data stream.
  • the polling sequence used for every two adjacent mapping periods is different.
  • the polling sequence used for one mapping period is that the sequence number of the third data stream is odd and even.
  • the polling sequence used in the other mapping cycle is that the sequence number of the third data stream is even-odd one-by-one interleaving sequence, which is equivalent to flipping the polling sequence of two mapping periods.
  • the mapping sequence used in every two adjacent mapping periods is the same.
  • the mapping sequence is the order of the second data stream with an even sequence number first, and the second data stream with an odd sequence number last. That is, the second data stream mapped to the even sequence number first, and then the second data stream mapped to the odd sequence number.
  • mapping order is: first map the odd sequence number After mapping the second data stream with an even serial number.
  • x second data streams contain data of two FEC codewords A and codeword B (that is, there are two The data of the FEC codeword is distributed to the x second data streams with a granularity of 10 bits (FEC symbols).
  • FEC symbols For example, the data of two FEC codewords is codeword interleaved with the granularity of FEC symbols to the x second data. Stream) as an example to illustrate the process of mapping the transmitter and receiver devices.
  • Each FEC codeword includes data of 544 FEC symbols.
  • a second data stream includes data of 544 ⁇ 2/8 FEC symbols.
  • the first second data stream includes FEC symbols C A,543 , C B,539 , ... and C B,3
  • the second second data stream includes FEC symbols C B,543 , C A,539 , ...
  • the third second data stream includes FEC symbols C A,542 , C B,538 , ... and C B,2
  • the eighth second data stream includes FEC symbols C B,540 , CA ,536 ,... and C A,0 .
  • the mapping process of the sender device includes:
  • the sender device has the serial numbers of the second data stream polled first: 0, 2, 4, and 6, and sequentially polls the C A,543 , C A,542 , C A,541 and C A,540 are mapped to the first third data stream (refers to the first third data stream with sequence number 0), and then the serial number of the second data stream to be polled Are: 1, 3, 5 and 7, and sequentially map the polled C B,543 , C B,542 , C B,541 and C B,540 to the second third data stream (referring to The second third data stream with sequence number 1); after that, in the second polling cycle of the transmitting end device, the sequence numbers of the second data stream polled first are: 0, 2, 4, and 6, And sequentially map the polled C B,539 , C B,538 , C B,537 and C B,536 to the second third data stream, and then, the serial number of the polled second data stream Are: 1, 3, 5 and 7, and sequentially
  • the serial numbers of the polled second data stream are: 1, 3, 5, and 7, and the polled ones are obtained in turn C A,3 , C A,2 , C A,1 and C A,0 are mapped to the first third data stream to obtain two complete third data streams.
  • mapping process of the receiving end device includes:
  • the receiving end device polls each third data stream of the two third data streams in turn, and in the first mapping period , maps CA,543 of the first third data stream to the first second data stream , Map the C B,543 of the second third data stream to the second second data stream, map the CA,542 of the first third data stream to the third second data stream, and map the second
  • the C B,542 of the third data stream is mapped to the fourth second data stream
  • the CA,541 of the first third data stream is mapped to the fifth second data stream
  • the second third data stream is mapped
  • the C B,541 of the stream is mapped to the sixth second data stream
  • the C A,540 of the first third data stream is mapped to the seventh second data stream
  • the C B of the second third data stream is mapped ,540 is mapped to the 8th second data stream,..., in the last mapping cycle
  • the CA,3 of the first third data stream is mapped to the second second data stream
  • the second third data stream is mapped to the second
  • the C B,3 of the data stream is mapped to the first second data stream
  • the C A,2 of the first third data stream is mapped to the fourth second data stream
  • the C of the second third data stream is mapped.
  • B, 2 is mapped to a third second data stream
  • the second the third data stream C B 1 mapping To the fifth second data stream
  • 8 complete second data streams are obtained.
  • each third data stream in the two third data obtained by mapping only includes data of one FEC codeword
  • the receiving end device can pass verification with a FEC codeword.
  • the check relationship of the data whose data volume is granular is self-defined to determine whether the data belongs to an FEC codeword, and then determine the boundary of the output channel corresponding to an FEC codeword.
  • mapping process of the sending end device includes:
  • the sending end device polls each of the eight second data streams in turn, and maps the polled data to the third data stream, until the data of the eight second data streams are completely mapped to obtain two third data streams.
  • Data stream where the polling sequence used in every two adjacent polling cycles is the same. For example, assuming that 8 second data streams have sequence numbers 0-7 in turn, when polling x second data streams, The order of the sequence numbers of the polled second data stream is: 0, 1, 3, 2, 4, 5, 7, 6, and the mapping sequence used in every two adjacent polling cycles is different, for example, For every two adjacent polling periods, the mapping sequence used in one polling period is the sequence of the third data stream with odd and even numbers, and the mapping sequence used in the other polling period is the third data.
  • the sequence number of the stream is an even-odd-interleaved sequence, which is equivalent to the mapping sequence reversal of two polling cycles. Then, for each second data stream, the data obtained by any two adjacent polling is mapped to a different third data stream.
  • mapping process of the receiving end device includes:
  • the receiving end device polls each third data stream of the two third data streams in turn, and maps the polled data to the second data stream, until the data of the two third data streams are completely mapped to obtain 8 second data streams
  • For the data stream for each third data stream, continuous n-bit data in each third data stream is obtained by polling each time.
  • the polling sequence used in every two adjacent mapping periods is different. For example, for every two adjacent polling periods, the polling sequence used in one polling period is that the sequence number of the third data stream is odd.
  • the even number is interleaved one by one, and the polling sequence adopted in the other polling cycle is that the sequence number of the second data stream is even and odd one by one interleaved sequence, which is equivalent to the polling sequence reversal of two mapping cycles.
  • the mapping sequence used in every two adjacent mapping periods is the same. For example, in each mapping period, the sequence numbers of the mapped second data stream are ordered as follows: 0, 1, 3, 2, 4, 5, 7, 6.
  • the mapping process of the sending end device includes:
  • the serial numbers of the second data stream polled are: 0, 1, 3, 2, 4, 5, 7, 6, and the polled CA , 543 , C B,543 , C B,542 , C A,542 , C A,541 , C B,541 , C B,540 and C A,540 alternately mapped to the first third data stream and the second The third data stream; in the second polling cycle, the serial numbers of the polled second data stream are: 0, 1, 3, 2, 4, 5, 7, 6, and the polled C B ,539 , C A,539 , C A,538 , C B,538 , C B,537 , C A,537 , C A,536 and C B,536 alternately mapped to the second third data stream and the second 1 third data stream, ...
  • the polled C B,3 , C A,3 , C A,2 , C B,2 , C B,1 , C A,1 , C A,0 and C B,0 are alternately mapped to the second A third data stream and a first third data stream are used to obtain two complete third data streams.
  • the mapping process in odd polling periods is the same (refer to the same mapping process in the first polling period), and the mapping process in even polling periods is the same (refer to the mapping process in the second polling period) .
  • mapping process of the receiving end device includes:
  • the receiving end device sequentially polls each third data stream of the two third data streams.
  • the receiving end device maps the CA,543 of the first third data stream to the first third data stream.
  • Two data streams mapping the C B,543 of the second third data stream to the second second data stream, and mapping the C B,542 of the first third data stream to the fourth second data stream, Map the CA,542 of the second third data stream to the third second data stream, map the CA,541 of the first third data stream to the fifth second data stream, and map the second
  • the C B,541 of the third data stream is mapped to the sixth second data stream
  • the C B,540 of the first third data stream is mapped to the eighth second data stream
  • the second third data stream is mapped
  • the CA ,540 is mapped to the seventh second data stream...
  • the CA,3 of the first third data stream is mapped to the second second data stream
  • the second C B,3 of the third data stream is mapped to the first second data stream
  • C B,2 of the first third data stream is mapped to the third second data stream
  • the second third data stream is mapped of C a, 2 mapped to the four second data stream
  • the first 1 C a third data stream is mapped to a sixth second data stream
  • the third C B second data stream, 1 is mapped to the fifth second data stream
  • the C B,0 of the first third data stream is mapped to the seventh second data stream
  • the second third data stream CA,0 is mapped to the first 8 second data streams to get a complete 8 second data streams.
  • the mapping process in the odd number of mapping periods is the same (refer to the same mapping process in the first mapping period)
  • the mapping process in the even number of mapping periods is the same (refer to the mapping process in the second mapping period).
  • mapping process of the sending end device includes:
  • the sender device polls each of the 16 second data streams in turn, and maps the polled data to the third data stream, until the data of the 16 second data streams are completely mapped to obtain 4 third data streams.
  • Data stream, for each second data stream, each polling obtains continuous n-bit data in each second data stream, where the polling sequence used in every two adjacent polling periods is the same, for example, In each polling cycle, the polling sequence is the first two consecutive second data streams with even-numbered serial numbers, and the last two consecutive second data streams with odd-numbered serial numbers, that is, two polling first
  • the second data stream with consecutive even-numbered serial numbers is polled after two second data streams with consecutive odd-numbered serial numbers, that is, in each polling cycle, the polling sequence is 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11, 12, 14, 13, and 15, and the mapping order used for every two adjacent polling periods is different, for example, for every two adjacent polling cycles Cycle, the mapping sequence used in one polling cycle is the sequence of increasing sequence numbers of the third data stream,
  • mapping sequence of two polling cycles For example, for each second data stream, data obtained by any two consecutive polls are mapped to different third data streams. Among them, when polling every 16 second data streams, poll the second data stream with an even serial number first, and then poll the second data stream with an odd serial number.
  • mapping process of the receiving end device includes:
  • the receiving end device polls each of the 4 third data streams in turn, and maps the polled data to the second data stream, until the 4 third data streams are completely mapped to obtain 16 second data
  • continuous n-bit data in each third data stream is obtained by polling each time, wherein the polling sequence used in every two adjacent mapping periods is different, for example, for each Two adjacent mapping periods, the polling sequence used in one mapping period is the sequence of increasing sequence number of the third data stream, and the polling sequence used in the other mapping period is the sequence number of the third data stream is the third data stream
  • the sequence number of is: the sequence of 2, 3, 0 and 1, which is equivalent to the polling sequence reversal of two mapping cycles.
  • the mapping sequence used in every two adjacent mapping periods is the same.
  • the mapping sequence is the second data stream with two consecutive even-numbered sequence numbers, and the second data stream with the last two consecutive odd-numbered sequence numbers.
  • the sequence of the data stream is the second data stream mapped to two consecutive even-numbered serial numbers first, and then to the second data stream with two consecutive odd-numbered serial numbers, that is, in each mapping cycle, the mapping sequence It is 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11, 12, 14, 13, and 15.
  • the data obtained by any adjacent 16 polls are mapped to 16 different second data streams, and the 16 second data streams sequentially have sequence numbers 0-15, and the second data is mapped
  • the sequence numbers of the streams are sequenced as follows: poll the second data stream with even serial numbers first, and then poll the second data stream with odd serial numbers.
  • x second data streams contain data of two FEC codewords A and codeword B (that is, there are two
  • the data of the FEC codeword is distributed to the 16 second data streams with a granularity of 10 bits (FEC symbols).
  • FEC symbols For example, the data of two FEC codewords is codeword interleaved with the granularity of FEC symbols to the 16 second data.
  • Stream as an example to illustrate the above-mentioned mapping process of the transmitting end device and the receiving end device.
  • Each FEC codeword includes data of 544 FEC symbols.
  • a second data stream includes data of 544 ⁇ 2/16 FEC symbols.
  • the first second data stream includes FEC symbols C A,543 , C B,539 , ... and C B,7
  • the second second data stream includes FEC symbols C B,543 , C A,539 , ...
  • 3rd second data stream including FEC symbol C A, 542, C B, 538, ... , and C B, 6, 15 of the second data stream includes a FEC symbol C B, 536, C A ,528 , ... and C A,0 .
  • the mapping process of the sender device includes:
  • the sender device has the serial numbers of the second data stream polled first: 0, 2, 4, 6, 8, 10, 12, and 14, and sequentially polls the C A ,543 , C A,542 , C A,541 , C A,540 , C A,539 , C A,538 , C A,537 and C A,536 alternately mapped to the first third data stream and the first
  • the serial numbers of the second polled data stream are: 1, 3, 5, 7, 9, 11, 13, and 15, and the polled C B,543 , C B,542 , C B,541 , C B,540 , C B,539 , C B,538 , C B,537 and C B,536 are alternately mapped to the third third data stream (referring to the sequence The third data stream with number 2) and the fourth third data stream (referring to the third data stream with sequence number 3);
  • the sequence numbers of the second data stream polled first are: 0, 2, 4, 6, 8, 10, 12, and 14, and the C B obtained by polling is sequentially 535 , C B,534 , C B,533 , C B,532 , C B,531 , C B,530 , C B,529 and C B,528 alternately mapped to the third third data stream and the fourth
  • the serial numbers of the polled second data stream are: 1, 3, 5, 7, 9, 11, 13, and 15, and the polled CA ,535 , C A,534 , C A,533 , C A,532 , C A,531 , C A,530 , C A,529 and C A,528 are alternately mapped to the first third data stream and the second third data stream In the data stream, ... until the complete 4 third data streams are obtained.
  • the mapping process in odd-numbered polling periods is the same as the mapping process in the first polling period, and the
  • mapping process of the receiving end device includes:
  • the receiving end device polls each of the four third data streams in turn , maps the CA,543 of the first third data stream to the first second data stream, and maps the second data stream to the second data stream.
  • the CA,542 of the three data streams is mapped to the third second data stream
  • the C B,543 of the third third data stream is mapped to the second second data stream
  • the fourth third data is mapped
  • the C B,542 of the stream is mapped to the fourth second data stream; afterwards, the CA,541 of the first third data stream is mapped to the fifth second data stream, and the second third data
  • the CA ,540 of the stream is mapped to the seventh second data stream
  • the C B,541 of the third third data stream is mapped to the sixth second data stream
  • the fourth third data stream’s C B, 540 is mapped to the 8th second data stream,... until a complete 16 second data stream is obtained.
  • mapping process of the sending end device may include:
  • the sender device polls each of the 16 second data streams in turn, and maps the polled data to the third data stream, until the data of the 16 second data streams are completely mapped to obtain 4 third data streams.
  • Data stream, for each second data stream, each polling obtains continuous n-bit data in each second data stream, where the polling sequence used in every two adjacent polling periods is the same, for example, In each polling cycle, the polling sequence is the order of increasing the sequence number of the second data stream, and the mapping sequence used in every two adjacent polling cycles is different, for example, for every two adjacent polls Cycle, the mapping sequence used in one polling cycle is the increasing sequence of the third data stream or the sequence of the sequence numbers of the third data stream being 1, 0, 3, and 2, and the mapping sequence used in the other polling cycle The sequence number of the third data stream is 1, 0, 3, and 2, or the sequence in which the sequence of the third data stream increases. For example, for each second data stream, data obtained by any two consecutive polls are mapped to different third data streams. Wherein, when polling
  • mapping process of the receiving end device may include:
  • the receiving end device polls each of the four third data streams in turn, and maps the polled data to the second data stream, until the four third data streams are completely mapped to obtain 16
  • the polling sequence adopted in another mapping cycle is the sequence of the sequence numbers of the third data stream being 1, 0, 3, and 2, or the sequence of increasing sequence of the third data stream.
  • the mapping sequence used in every two adjacent mapping periods is the same. For example, the mapping sequence is an increasing sequence of the second data stream sequence number.
  • the mapping process of the sending end device may include:
  • the sending end device polls 16 second data streams in turn, and the resultant C A,543 , C B,543 , C A,542 , C B,542 , C A ,541 ⁇ C B,541 ⁇ C A,540 ⁇ C B,540 ⁇ C A,539 ⁇ C B,539 ⁇ C A,538 ⁇ C B,538 ⁇ C A,537 ⁇ C B,537 ⁇ C A ,536 and C B,536 are sequentially mapped to the first third data stream, the second third data stream, the third third data stream, the fourth third data stream, and the second third data stream, The first third data stream, the fourth third data stream, and the third third data stream.
  • the mapping process in odd polling periods is the same (refer to the same mapping process in the first polling period), and the mapping process in even polling periods is the same (refer to the mapping process in the second polling period) .
  • mapping process of the receiving end device includes:
  • the receiver device maps each third data stream of the 4 third data streams in turn.
  • the receiver device polls the first third data stream and the second third data stream in turn.
  • the polled data of the third data stream are sequentially mapped to 16 second data streams, and then, in the second mapping cycle, the second data stream is polled
  • the third data stream, the first third data stream, the fourth third data stream, the third third data stream, the first third data stream, the second third data stream, the third third data stream Data stream, 4th third data stream, 2nd third data stream, 1st third data stream, 4th third data stream, 3rd third data stream, 1st third data stream ,
  • mapping process in the odd number of mapping periods is the same (refer to the same mapping process in the first mapping period), and the mapping process in the even number of mapping periods is the same (refer to the mapping process in the second mapping period).
  • each of the x second data streams is adjacent to two FECs.
  • the symbols usually belong to different FEC codewords.
  • the above-mentioned mapping process of the sending-end device is only illustrative, as long as it is ensured that each of the z third data streams mapped by the sending-end device includes only one FEC codeword data, or includes two FEC codes Word data, and the data of the two FEC codewords are arranged according to a certain rule (for example, two adjacent FEC symbols belong to different FEC codewords), which is not limited in this application.
  • mapping symbol mapping
  • serial numbers of multiple data streams set from 0 can also be set from 1 as those skilled in the art can easily imagine.
  • the setting of the serial number is different, and the parity sequence of the serial number is correspondingly different. Any simple change that can be conceived on the basis of the embodiment of the present application can be covered by the protection scope of the embodiment of the present application, and will not be repeated here.
  • the x fifth data streams are the same as the foregoing
  • the x second data streams have at least the same data attributes. For example, both are data transmitted by the PMA layer, and both are transmitted through the PMA channel. For example, both are data transmitted by the FEC channel in the PMA layer. It is transmitted through the FEC channel.
  • the x fifth data streams and the aforementioned x second data streams at least have the same data content. At this time, the x fifth data streams are the x second data streams.
  • the x fifth data streams may refer to the foregoing mapping process of the x second data streams. Of course, other mapping processes may actually refer to the foregoing mapping process of the x second data streams, which will not be repeated in this embodiment of the application.
  • the sender device and the receiver device perform any step, they need to perform at least one of alignment processing, offset removal processing, and reordering processing on the data to be processed, so as to ensure subsequent The validity of the data during processing. It is particularly worth noting that because the usual data mapping process will change the arrangement order of the data, etc., data misalignment is prone to occur. Therefore, when the data is mapped (for example, the mapping process may occur during data cross-layer transmission or cross-layer transmission). During channel transmission), data must be aligned to avoid process errors in subsequent processing due to data misalignment.
  • the FEC codeword A and codeword B drawn in FIGS. 16 to 20 are just for the reader to understand that the data included in the x second data comes from the data of two FEC codewords.
  • the x second data streams in FIG. 16 to FIG. 20 are not obtained by directly distributing the FEC codeword codeword A and codeword B through symbols.
  • the sending end device and the receiving end device can use n bits as the unit symbol for transmission during data transmission, compared to the traditional one bit as the unit symbol.
  • the data transmission method of unit symbols if the transmitted data carries burst error data, there are fewer error unit symbols, which reduces the number of error unit symbols in the transmission process. Reduce the spread of burst error data and improve the reliability of data transmission.
  • the sending end device maps the x second data streams to z third data streams with a granularity of n (n ⁇ 2) bits and outputs them, the mapping granularity is larger than that in the BitMux architecture. Therefore, when the third data stream carries burst error data, if the receiving end device performs FEC symbol error correction, the burst error data will be converted to fewer FEC symbol errors, reducing the number of FEC symbols with errors. The number of errors can improve the success rate of FEC code word error correction processing, improve error correction performance, and ensure the correct rate of subsequent data transmission.
  • the unit symbol of the data transmitted in the PMA layer of the sending end device and the PMA layer of the receiving end device is 1 FEC symbol, and these data are in 10 bits at the receiving end device.
  • the 6-bit burst error data is mapped to the data of 2 FEC symbols, resulting in 2 FEC symbol errors.
  • the number of erroneous FEC symbol data is reduced.
  • the probability of failure of the codeword error correction process is reduced during the codeword error correction process, the probability of correcting burst error data is increased, and the data transmission rate is improved. Correct rate.
  • the sending end device can map the x second data streams to z third data streams with a granularity of 10 bits (FEC symbols) and then output them, thus reducing the FEC containing burst error data.
  • FEC symbols 10 bits
  • the data transmission method can be compatible with the application scenario of IEEE802.3ck, in which the computational complexity is low.
  • the FEC codeword error correction processing is performed on the x second data streams, the accuracy of data transmission is improved.
  • the data transmission method re-encodes the x second data streams, the protection level of the data is improved, and the reliability of the data transmission is further guaranteed.
  • the data is The transmission method can adapt to more different coding application scenarios, which improves the versatility of the data transmission method.
  • the data transmission method provided by the embodiments of this application can be applied to the receiving end device and the sending end device in a variety of scenarios. It is assumed that the above data transmission method is applied to the newly added sublayer AUI XS.
  • the chip may only include the main chip, as shown in FIG. 21, the main chip includes the PMA layer and the AUI XS.
  • the sending end device includes a main chip, a CDR chip, and an optical module to implement the data transmission method provided in the embodiments of the present application
  • the receiving end device includes a traditional optical module and a traditional main chip to perform traditional data transmission. method.
  • FIG. 21 the main chip includes the PMA layer and the AUI XS.
  • the sending end device includes a main chip, a CDR chip, and an optical module to implement the data transmission method provided in the embodiments of the present application
  • the receiving end device includes a traditional optical module and a traditional main chip to perform traditional data transmission. method.
  • the transmitting end device includes a main chip and an optical module
  • the optical module is integrated with a CDR chip
  • the receiving end device includes a traditional optical module and a traditional main chip.
  • the main chip of the transmitting end device shown in Figure 22 and Figure 23 includes the PMA layer and AUI XS
  • the CDR chip includes the PMA layer and AUI XS.
  • the above-mentioned traditional optical module and the traditional main chip refer to the Bits are data obtained by granular mapping.
  • the receiving end device may also be a device including a main chip, a CDE chip and an optical module, or a device including a main chip and an optical module (the optical module is integrated with a CDR chip).
  • Equipment including a main chip, a CDE chip, and an optical module, executes the data transmission method provided in the embodiment of this application.
  • the newly added sub-layer AUI XS in the main chip can be called data terminal equipment (DTE) AUI XS
  • the newly added sublayer AUI XS in the CDR chip can be called the Physical Layer (Physical, PHY) AUI XS.
  • both the sender device and the receiver device include: MAC layer/RS, PCS, FEC, PMA, AUI XS, PMA, PMD and medium arranged in sequence, and 100GMII located between the RS layer and PCS Interface, 100GAUI-1 interface between PMA layer and AUI XS and MDI interface between PMD layer and medium.
  • the level standard of the MAC layer and RS under the 100G electrical channel is 100G MAC/RS
  • the coding of the PCS layer is the 100G base-distance (100GBASE-R) coding specification
  • the coding specification of the FEC layer can refer to the IEEE 802.3 standard.
  • Chapter 91 IEEE (clause 91FEC) In the application environment of the 100GAUI-1 interface, the BitMux architecture of the sending end device and the receiving end device is a 4:1 architecture, and the data stream transmitted by the sending end device and the receiving end device includes only one FEC codeword.
  • the AUI XS of the main chip U1 first executes step 601 to obtain a first data stream (the first data stream is also called interleaved data stream or mux data stream) obtained through BitMux processing, and then One first data stream is demultiplexed to obtain 4 second data streams (the second data stream is also called FEC lanes (FEC lanes) data stream), and this step can be represented by PMA (1:4).
  • the AUI XS of the main chip U1 can perform step 602 to perform alignment locking, de-offset and reordering processing on the four second data streams (the The process can be referred to simply as the alignment lock, offset removal and channel reordering process). Since the four second data streams only include one FEC codeword, the AUI XS of the main chip U1 can perform step 603 to perform FEC codeword correction on the four second data streams after the alignment, de-offset, and reordering process.
  • the four second data streams after error correction are obtained (this process can be referred to as RS error correction (RS error correction) process for short), and then the AUI XS of the main chip U1 can perform step 604 to perform the error correction 4
  • the second data stream is re-encoded (this process may be referred to as re-encoding for short).
  • the re-encoding process may include performing inner code FEC encoding on the four second data streams to obtain the encoded four second data streams, or It is to perform enhanced FEC coding on x second data streams to obtain 4 second data streams after encoding.
  • the AUI XS of the main chip U1 can perform step 605 to map the four second data streams after re-encoding with the granularity of FEC symbols to obtain a third data stream (the third data stream can also be called a symbol channel ( symbol lanes) data stream).
  • the AUI XS of the main chip U1 maps the re-encoded 4 second data streams with the granularity of FEC symbols to obtain a third data stream.
  • the process may include the AUI XS of the main chip U1 firstly execute step 6051, The alignment word of the second data stream is removed (this process can be referred to as alignment word removal for short), and then step 6052 is executed to map the four second data streams from which the alignment words are removed to the granularity of FEC symbols to obtain 1 Three data streams, this step 6052 is represented by symbol distribution (4:1), and then step 6053 is performed separately (it is worth noting that step 6053 can also be performed synchronously with step 6052) and step 6054 to follow the 4 second data streams and For the mapping relationship of one third data stream, an alignment word is added to one third data stream (the process of step 6053 may be referred to as alignment word mapping for short, and the process of step 6054 may be referred to as alignment word addition for short). Finally, the one third data stream is output to the PMD layer through one PMD output channel. Finally, the transmitter device outputs the one third data stream to the main chip U2 through one PMD output channel of the PMD layer.
  • Step 701 is executed to perform alignment locking, de-offset, and reordering processing for this one third data stream (this process may be simply referred to as alignment locking, de-offsetting, and channel reordering).
  • step 702 can be performed to map the 1 third data stream after the alignment, de-offset, and reordering processes with the granularity of FEC symbols to obtain 4 second data streams, where the AUI XS of the main chip U2 will lock the alignment ,
  • one third data stream is mapped with FEC symbols as the granularity to obtain 4 second data streams.
  • the process can include the AUI XS of the main chip U1.
  • step 7021 is executed to transfer one third data stream.
  • the alignment word of the stream is removed (this process can be referred to as alignment word removal for short), and then step 7022 is executed to map the 1 third data stream from which the alignment word is removed to the granularity of FEC symbols to obtain 4 second data streams.
  • step 7022 can be represented by symbol distribution (1:4), and then step 7023 is performed (it is worth noting that step 7023 can also be performed synchronously with step 7022) and step 7024 to follow a third data stream and a fourth data stream.
  • the mapping relationship of the two data streams is to add alignment words to each of the four second data streams (the process of step 7023 may be referred to as alignment word mapping for short, and the process of step 7024 may be referred to as alignment word addition for short).
  • step 703 may be executed to re-encode the four second data streams (this process may be simply referred to as re-encoded decoding).
  • step 704 can be performed to perform FEC codeword error correction processing on the four second data streams after the decoding process (this process can be referred to as RS error correction for short).
  • the FEC codeword error correction process mainly corrects the data after PMD The burst of error data caused by the layer, thereby obtaining 4 second data streams after error correction.
  • step 705 can be executed to multiplex the four second data streams after error correction with bit granularity to obtain one first data stream. This process can be represented by PMA (4:1). So far, the data transmission method provided in the embodiment of the present application has been executed.
  • the main chip U1 of the transmitting end device does not need to re-encode the four second data streams after error correction. Accordingly, the main chip U2 of the receiving end device does not need to The four second data streams are subjected to the decoding process of re-encoding, and step 604 and step 703 in the foregoing embodiment are optional steps.
  • the sending end device maps the x second data streams to z third data streams with a granularity of n (n ⁇ 2) bits and then outputs them, the mapping granularity is Compared with the mapping granularity in the BitMux architecture, when the third data stream carries burst error data, if the receiving end device performs FEC symbol error correction, the burst error data will be converted to less FEC symbol errors reduce the number of error FEC symbol errors, increase the success rate of FEC codeword error correction processing, improve error correction performance, and ensure the correct rate of subsequent data transmission.
  • the sending end device and the receiving end device only contain the main chip
  • the chips have implemented FEC code word error correction processing.
  • the FEC code word error correction processing can record the corrected burst error data, so that the staff can use the recorded burst error data to determine the data transmission process.
  • Information such as the location of the burst error data (fault) evaluates the data transmission performance, and realizes the monitoring of C2C link performance and fault location.
  • the sending end device can map the x second data streams to z third data streams with a granularity of 10 bits (FEC symbols) and then output them, thus reducing the FEC containing burst error data.
  • FEC symbols 10 bits
  • the data transmission method can be compatible with the application scenario of IEEE802.3ck, in which the computational complexity is low.
  • the FEC codeword error correction processing is performed on the x second data streams, the accuracy of data transmission is improved.
  • the data transmission method re-encodes the x second data streams, the protection level of the data is improved, and the data security is further ensured.
  • the data transmission method can be Adapt to more different coding application scenarios, and improve the versatility of the data transmission method.
  • this application takes the application scenario of the data transmission method shown in FIG. 23 as an example. It is assumed that the sending end device and the receiving end device are devices connected to each other by Ethernet on different servers, and are also connected to each other through media media. equipment.
  • the transmitting end device and the receiving end device have a 100GAUI-1 interface under 100GE, and include a main chip and an optical module connected through the 100GAUI-1 interface (the optical modules are integrated with a CDR chip). Then the data transmission method can be applied to the main chip DTE AUI XS of the transmitting end device and the receiving end device, and also applied to the PHY AUI XS of the optical module of the transmitting end device and the receiving end device.
  • the main chips of the sender and receiver devices both include: MAC layer/RS, DTE 100G XS, PMA, DTE AUI XS and PMA arranged in sequence, and 100GMII located between the RS layer and PCS
  • the optical modules of the transmitter device and the receiver device include: PMA, PHY AUI XS, PMA and integrated PMD function and PHY 100G XS function arranged in sequence PMD/PHY 100G XS, and the MDI interface between PMD/PHY 100G XS and medium.
  • the MAC layer/RS is 100G MAC/RS under the 100G electrical channel.
  • the BitMux architecture of the transmitting end device and the receiving end device is a 4:1 architecture, and the data stream transmitted by the transmitting end device and the receiving end device includes only one FEC codeword.
  • the main chip of the sender device first transmits the data stream to be transmitted through the MAC layer/RS, DTE 100G XS, PMA, DTE AUI XS and PMA layer from the 100GAUI-1 interface to the optical module, where the main chip will transmit
  • the process of processing the data stream to be transmitted is the same as the process of processing the data stream to be transmitted by the main chip under the architecture shown in FIG.
  • the process is the same as that of the data transmission method shown in FIG. 26, and reference may be made to the related embodiment shown in FIG. 24, which will not be repeated in this application.
  • the PHY AUI XS of the optical module U3 first performs step 801 , Because only one third data stream is received, there is no offset and channel disorder in this one third data stream, therefore, the PHY AUI XS of the optical module U3 only needs to perform alignment lock on this one third data stream Processing (this process can be simply referred to as alignment locking). Then, the PHY AUI XS of the optical module U3 executes step 802 to map the 1 third data stream with the granularity of FEC symbols to obtain 4 second data streams.
  • the process may include the PHY AUI XS of the main chip optical module U3 first execute Step 8021: Remove the alignment words of a third data stream (this process may be referred to as alignment word removal for short), and then perform step 8022 to remove the alignment words of a third data stream with the FEC symbol granularity.
  • step 8022 can be represented by symbol distribution (1:4), and then step 8023 is performed separately (it is worth noting that step 8023 can also be performed synchronously with step 8022) and step 8024 to follow 1
  • the mapping relationship between three third data streams and four second data streams is to add alignment words to four second data streams (the process of step 8023 may be referred to as alignment word mapping for short, and the process of step 8024 may be referred to as adding alignment words for short).
  • step 803 is performed to perform FEC codeword error correction processing on the four second data streams to obtain four second data streams after error correction (this process may be referred to as RS error correction for short).
  • step 804 may be performed to re-encode the four second data streams after error correction (this process may be simply referred to as re-encoding).
  • the sending end device has one output channel, and the data format corresponding to this output channel is based on the bit granularity. Therefore, the PHY AUI XS of the optical module U3 finally performs step 805, and the 4 second The data stream is mapped to a fourth data stream at a bit granularity, and this step 805 can be represented by PMA (4:1). So far, the data transmission method has been executed.
  • step 901 the PHY AUI XS of the optical module U4 first executes step 901 to demap the 1 fourth data stream to obtain 4 The second data stream.
  • step 902 is executed to perform alignment locking, de-offset, and reordering processing on the four second data streams (this process may be simply referred to as alignment locking, de-offsetting, and channel reordering).
  • step 903 is performed to perform re-encoding and decoding processing on the four second data streams (this process may be referred to as re-encoding and decoding for short), and then step 904 is performed to perform decoding processing on the four second data streams after decoding.
  • step 905 is executed to perform the corrected four second data streams with the granularity of FEC symbols
  • the process of mapping to obtain a third data stream may include the PHY AUI XS of the optical module U4 first execute step 9051 to remove the alignment words of the four second data streams (this process may be referred to as alignment word removal for short), and then execute Step 9052: Map the four second data streams with FEC symbols as the granularity with the alignment words removed to obtain a third data stream.
  • step 9052 can be represented by symbol distribution (4:1), and then step 9053 ( It is worth noting that step 9053 can also be performed synchronously with step 9052) and step 9054 to add alignment words to one third data stream according to the mapping relationship between four second data streams and one third data stream (step 9053)
  • the process can be referred to as alignment word mapping for short, and the process of step 9054 can be referred to as adding alignment words for short).
  • a third data stream with the added alignment word is output to the main chip of the receiving end device, and the main chip performs further processing.
  • the processing process refer to the related embodiment shown in FIG. 24, which will not be repeated in this application. . So far, the data transmission method has been executed.
  • the optical module U3 of the transmitting end device does not need to re-encode the four second data streams after error correction. Accordingly, the optical module U4 of the receiving end device does not need to The four second data streams are subjected to the decoding process of re-encoding, and step 804 and step 903 in the foregoing embodiment are optional steps.
  • the sending end device maps the x second data streams to z third data streams with a granularity of n (n ⁇ 2) bits and then outputs them, the mapping granularity is Compared with the mapping granularity in the BitMux architecture, when the third data stream carries burst error data, if the receiving end device performs FEC symbol error correction, the burst error data will be converted to less FEC symbol errors reduce the number of error FEC symbol errors, increase the success rate of FEC codeword error correction processing, improve error correction performance, and ensure the correct rate of subsequent data transmission.
  • the sending end device and the receiving end device both include a main chip and an optical module
  • the main chip and optical module of the sending end device, and the main chip and optical module of the receiving end device in the data transmission method both perform FEC code word correction Error processing
  • the FEC code word error correction processing can record the corrected burst error data, so that the staff can use the recorded burst error data to determine the burst error data (fault) during the data transmission process
  • the location and other information evaluate the data transmission performance, and realize the monitoring of C2M link performance and fault location.
  • the sending end device can map the x second data streams to z third data streams with a granularity of 10 bits (FEC symbols) and then output them, thus reducing the FEC containing burst error data.
  • FEC symbols 10 bits
  • the data transmission method can be compatible with the application scenario of IEEE802.3ck, in which the computational complexity is low.
  • the FEC codeword error correction processing is performed on the x second data streams, the accuracy of data transmission is improved.
  • the data transmission method re-encodes the x second data streams, the protection level of the data is improved, and the reliability of the data transmission is further guaranteed.
  • the data is The transmission method can adapt to more different coding application scenarios, which improves the versatility of the data transmission method.
  • step 107, step 209, step 309 or step 409 may not be executed in actual implementation.
  • the FEC layer of the receiving end can be integrated with the module that performs the FEC codeword error correction processing in the receiving end device, so this application will not repeat it.
  • the embodiment of the present application provides a data transmission device 1, as shown in FIG. 30, which is applied to a sending end device, and the data transmission device 1 includes:
  • mapping module 12 maps module 12 and output module 13.
  • the demultiplexing module 11 is used to demultiplex the acquired y first data streams to obtain x second data streams, and the y first data streams are obtained through bit multiplexing processing, for example, to achieve the above In the method embodiment, step 111, step 112, step 121, step 122, step 131, step 132, step 141, and step 142.
  • the mapping module 12 is configured to map the x second data streams with a granularity of n bits to obtain z third data streams, for example, to implement step 113, step 123, step 133, and step 143 in the foregoing method embodiment.
  • the output module 13 is configured to output z third data streams through the output channel, for example, to implement step 114 in the foregoing method embodiment.
  • y, x, n, and z are all positive integers, and n ⁇ 2.
  • the mapping module maps the x second data streams to z third data streams with a granularity of n (n ⁇ 2) bits and outputs them.
  • the mapping granularity is similar Compared with the mapping granularity in the BitMux architecture, the sending end device and the receiving end device can use n bits as the unit symbol for transmission during data transmission, compared to the traditional 1-bit unit symbol.
  • the transmitted data carries burst error data
  • there are fewer error unit symbols which reduces the number of error unit symbols in the transmission process. Reduce the spread of burst error data and improve the reliability of data transmission.
  • the output module 13 is configured to: map z third data streams with a granularity of n bits to obtain x fifth data streams, and map x fifth data streams with a granularity of q bits to obtain s
  • the fourth data stream is to output s fourth data streams through the output channel, for example, to implement step 204, step 205, step 501, step 502, and step 503 in the foregoing method embodiment.
  • mapping z third data streams with a granularity of n bits to obtain s fourth data streams, and outputting the s fourth data streams through the output channel, for example, to implement step 304 and step 305 in the foregoing method embodiment;
  • s and q are positive integers, and q ⁇ 2.
  • the output module 13 is configured to: map z third data streams with a granularity of n bits to obtain x fifth data streams;
  • the s fourth data streams are output through the output channel, for example, to implement step 404, step 405, step 601, step 602, and step 603 in the foregoing method embodiment, where s is a positive integer.
  • the x second data streams include data of at least one feedforward error correction FEC codeword.
  • the data transmission apparatus 1 further includes on the basis of FIG. 30:
  • the error correction processing module 14 is configured to perform FEC code word error correction processing on the x second data streams before mapping the data of the x second data streams with a granularity of n bits to obtain z third data streams to obtain X second data streams after error correction.
  • the data transmission apparatus 1 further includes on the basis of FIG. 31:
  • the demapping module 15 is configured to perform FEC codeword error correction processing on the x second data streams to obtain the x second data streams after error correction, and perform FEC symbol granularity on the x second data streams
  • the demapping process obtains data in units of FEC codewords.
  • the error correction processing module 14 shown in FIG. 31 is also used to perform FEC code word error correction processing on data in units of FEC code words, to obtain error-corrected data, and use FEC symbols as the granularity of the error-corrected data Perform mapping processing to obtain x second data streams after error correction.
  • mapping module 12 is configured to: poll each of the x second data streams;
  • the consecutive n-bit data in each second data stream obtained by polling are sequentially mapped to obtain a third data stream.
  • the mapping module 12 is configured to: poll each of the x second data streams in turn, and map the polled data to the third data Until the data of the x second data streams are completely mapped to obtain z third data streams, and each polling obtains continuous n-bit data in each of the second data streams;
  • the data obtained by any two consecutive polls is mapped to a different third data stream.
  • the polling sequence satisfies any one of the following:
  • n is the number of bits included in one FEC symbol.
  • the number of output data streams is less than or equal to the number of available output channels, or the number of output data streams is equal to the preset number of output channels.
  • the data transmission apparatus 1 further includes:
  • the first encoding module 16 is configured to perform inner code FEC encoding on the x second data streams before mapping the x second data streams with a granularity of n bits to obtain z third data streams to obtain the encoded x A second data stream.
  • the first encoding module 16 is configured to remove x when each second data stream carries check bits before mapping x second data streams with a granularity of n bits to obtain z third data streams.
  • the x second data streams after the check digits have been removed are subjected to the second FEC encoding to obtain x second data streams after encoding.
  • the encoding method of FEC encoding is different from the encoding method of the first FEC encoding used before the check bit is removed.
  • the embodiment of the present application provides a data transmission apparatus 2, as shown in FIG. 34, which is applied to a receiving end device, and the data transmission apparatus 2 includes:
  • the obtaining module 21 is configured to obtain z third data streams through the input channel, for example, to implement step 105 in the foregoing method embodiment.
  • the mapping module 22 is configured to map z third data streams with a granularity of n bits to obtain x second data streams, and z third data streams are obtained by mapping with a granularity of n bits, for example, to implement the above method embodiment In step 106, step 208, step 308 and step 408.
  • the multiplexing module 23 is configured to multiplex the x second data streams with bit granularity to obtain y first data streams, for example, to implement step 107, step 209, step 309, and step 409 in the foregoing method embodiment.
  • z, n, x and y are all positive integers, and n ⁇ 2.
  • the acquisition module acquires z third data streams through the input channel, and the mapping module maps the z third data streams with a granularity of n bits to obtain x
  • the second data stream has a larger mapping granularity than that in the BitMux architecture. Therefore, the sending end device and the receiving end device can use n bits as the unit symbol for transmission during data transmission.
  • the traditional data transmission method using 1 bit as a unit symbol if the transmitted data carries burst error data, there are fewer error unit symbols, which reduces the number of error unit symbols during transmission. Reduce the spread of burst error data and improve the reliability of data transmission.
  • the acquiring module 21 is configured to: receive s fourth data streams through the input channel, map the s fourth data streams with a granularity of q bits to obtain x fifth data streams, and transfer x fifth data streams
  • the stream has a granularity of n bits
  • z third data streams are obtained by mapping, for example, to implement step 207, step 505, and step 506 in the foregoing method embodiment.
  • s and q are positive integers, and q ⁇ 2.
  • the obtaining module 21 is configured to: receive s fourth data streams through the input channel;
  • the x fifth data streams are mapped with a granularity of n bits to obtain z third data streams, for example, step 407 in the foregoing method embodiment is implemented.
  • s is a positive integer.
  • the x second data streams include data of at least one feedforward error correction FEC codeword.
  • the data transmission device 2 further includes, on the basis of FIG. 34:
  • the error correction processing module 24 is configured to perform FEC code word error correction processing on the x second data streams before multiplexing the x second data streams with bit granularity to obtain y first data streams to obtain X second data streams after error correction.
  • the data transmission apparatus 2 further includes, on the basis of that shown in FIG. 35:
  • the demapping module 25 is configured to perform FEC code word error correction processing on x second data streams to obtain x second data streams after error correction, and perform FEC symbol granularity on x second data streams
  • the demapping process obtains data in units of FEC codewords.
  • the error correction processing module 24 shown in FIG. 35 is also used to perform FEC code word error correction processing on data with FEC code words as the unit, to obtain error-corrected data, and use FEC symbols as the granularity of the error-corrected data Perform mapping processing to obtain x second data streams after error correction.
  • mapping module 22 is used to:
  • the continuous n-bit data in a third data stream is sequentially mapped to obtain x second data streams.
  • mapping module 22 is configured to:
  • the data obtained by any two adjacent mappings comes from a different third data stream.
  • mapping order satisfies any one of the following:
  • mapping is performed in the order of increasing sequence number of the second data stream.
  • n is the number of bits included in one FEC symbol.
  • the data transmission apparatus 2 further includes:
  • the first decoding module 26 is used to perform inner code FEC decoding on the x second data streams before multiplexing the x second data streams with bit granularity to obtain y first data streams to obtain the decoded X second data streams, remove the check digits contained in the decoded x second data streams, and obtain x second data streams after the check digits are removed.
  • the check digits are the pair of x
  • the second data stream is added when the inner code FEC encoding is performed.
  • the first decoding module 26 is configured to perform the second FEC decoding on the x second data streams before multiplexing the x second data streams with the bit granularity to obtain the y first data streams to obtain the decoding
  • the decoded x second data streams are subjected to the first FEC encoding to obtain the encoded x second data streams.
  • the encoding method corresponding to the second FEC decoding is the same as that of the first FEC encoding The encoding method is different.
  • An embodiment of the present application provides a data transmission system, including: a sending end device 10 and a receiving end device 20.
  • the sending end device 10 is used for sending data
  • the receiving end device 20 is used for receiving data.
  • the data transmission system may be the data transmission system shown in FIG. 35.
  • the data transmission system has a variety of structures according to the different components included in the sending end device 10 and the receiving end device 20.
  • the embodiments of the present application take the following several as examples for illustration.
  • the sending end device 10 and the receiving end device 20 both include a main chip, and the main chip is connected to the main chip by communication.
  • the communication connection mode can refer to the communication connection shown in the above embodiment. Way, this is not repeated in this embodiment of the application.
  • the main chips of the sending end device 10 and the receiving end device 20 can be used to process the data to be transmitted with a granularity of n bits.
  • the main chip of the sending end device 10 can implement steps 101 to steps in the foregoing method embodiment. 104.
  • the transmitting end device 10 and the receiving end device 20 both include a main chip, a CDR chip, and an optical module.
  • the CDR chip of the transmitting end device 10 is connected to the main chip and the optical module through the AUI interface.
  • the main chip, the CDR chip, and the optical module in the device 20 have the same connection relationship with the main chip, the CDR chip, and the optical module in the transmitting end device 10.
  • the main chip and the CDR chip in the sending end device 10 can be used to process the data to be transmitted with a granularity of n bits to obtain the processed data to be transmitted, and then transmit the processed data to be transmitted to Optical module:
  • the optical module is used to directly send the received data to be transmitted after the processing, or adapt to other receiving end equipment, the other receiving end equipment refers to the received data format and the number of input channels and processed Devices with different data formats and numbers of data to be transmitted can, for example, implement steps 101 to 104, step 201 to step 205, step 301 to step 305, step 401 to step 405, and step 501 to in the above method embodiment. Step 503 and step 601 to step 603.
  • the optical module in the receiving end device 20 is used to receive data; the main chip and the CDR chip can be used to process the received data corresponding to the sending end device.
  • steps 105 to 107 and steps in the above method embodiment can be implemented. 206 to step 209, step 306 to step 309, step 406 to step 409, and step 504 to step 506.
  • the transmitting end device 10 and the receiving end device 20 each include a main chip and an optical module, and the main chips in the transmitting end device 10 and the receiving end device 20 are both connected to the optical module through an AUI interface, Among them, the functions of the main chips in the transmitting end device 10 and the receiving end device 20 are the same as those in the above-mentioned second structure. Since the optical modules in the transmitting end device 10 and the receiving end device 20 are integrated with a CDR chip, then, The optical module has the functions of the CDR chip and the optical film block in the second structure.
  • the transmitting end device 10 includes a main chip, a CDR chip, and an optical module.
  • the receiving end device 20 includes a main chip and an optical module.
  • the main chip, CDR chip and optical module in the transmitting end device 10 are connected in the same manner, and their functions correspond to the same.
  • the main chip and the optical module in the receiving end device 20 are connected in the same manner as the main chip and the optical module in the receiving end device 20 in the above-mentioned third structure, and have the same functions. This is not repeated in the embodiment of the application.
  • the transmitting end device 10 includes a main chip and an optical module
  • the receiving end device 20 includes a main chip, a CDR chip, and an optical module.
  • the main chip and optical module in the transmitting end device 10 are similar to those of the third In the structure, the connection modes of the main chip and the optical module in the transmitting end device 10 are the same, and the functions correspond to the same.
  • the main chip, the CDR chip, and the optical module in the receiving end device 20 are connected in the same manner as the main chip, the CDR chip, and the optical module in the receiving end device 20 in the second structure described above, and have the same functions. This is not repeated in the embodiment of the application.
  • the present application also provides a computer-readable storage medium having instructions stored in the computer-readable storage medium, which when run on a computer, cause the computer to execute the methods described in the above aspects.
  • the present application provides a computer program product containing instructions, which when run on a computer, causes the computer to execute the methods described in the above aspects.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
  • the computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium.
  • the computer instructions may be transmitted from a website, computer, server, or data center. Transmission to another website site, computer, server or data center via wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.).
  • wired such as coaxial cable, optical fiber, digital subscriber line (DSL)
  • wireless such as infrared, wireless, microwave, etc.
  • the computer-readable storage medium may be any available medium that can be stored by a computer or a data storage device such as a server or data center integrated with one or more available media.
  • the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (SSD)), etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本申请提供一种数据传输方法、装置及系统,应用于通信技术领域,该方法包括:对获取到的y个第一数据流进行解复用处理,得到x个第二数据流,所述y个第一数据流是经过比特复用处理得到的;将所述x个第二数据流以n比特为粒度,映射得到z个第三数据流;将所述z个第三数据流通过输出通道输出;其中,所述y、所述x、所述n和所述z均为正整数,且所述n≥2。本申请实施例能够解决突发错误数据产生较大的扩散,导致数据传输可靠性较低的问题。本申请可以用于以太网的高速接口。

Description

数据传输方法、装置及系统
本申请要求于2019年03月06日提交的申请号为201910169228.6、发明名称为“数据传输方法、装置及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请属于通信技术领用,特别涉及一种数据传输方法、装置及系统。
背景技术
现有的以太网的高速接口的架构中包括前馈纠错(forward error correction,FEC)层和物理媒介附件(physical medium attachment,PMA)层,FEC层用于对接收的数据进行前馈纠错编码,并传输至PMA层,该PMA层用于对接收的数据进行传输速率转换。
其中,FEC层在进行前馈纠错时,可以执行多种前馈纠错处理,例如,可以执行RS(544,514)前馈纠错(forward error correction,FEC)处理。RS(544,514)指的是按照10比特为一个编码单位进行的编码处理,RS(544,514)中每10比特数据称为一个FEC符号。
PMA层采用比特复用(Bit Mux,也称比特交织)架构,在该Bit Mux架构中执行Bit Mux处理,该处理包括:将PMA层接收的m个数据流以比特为单位映射得到z个数据流,将得到的z个数据流以比特为单位映射得到不同的n个数据流,该不同的n个数据流通过一一对应的不同的PMA通道输出。
但是,目前发送端设备和接收端设备在进行数据传输的过程中,若数据中携带有突发错误数据(burst error,也称突发误码)时,该突发错误数据会由于Bit Mux处理的执行,产生较大的扩散,导致数据传输可靠性较低。
发明内容
本申请提供了一种数据传输方法、装置及系统,可以解决数据传输可靠性较低的问题。
第一方面,提供一种数据传输方法,应用于发送端设备,所述方法包括:
发送端设备对获取到的y个第一数据流进行解复用处理,得到x个第二数据流,所述y个第一数据流是经过比特复用处理得到的。
发送端设备将所述x个第二数据流以n比特为粒度,映射得到z个第三数据流。在本申请中,以n比特为粒度映射指的是将数据以连续的n比特为单位进行映射。
发送端设备将所述z个第三数据流通过输出通道输出,其中,所述y、所述x、所述n和所述z均为正整数,且所述n≥2。
这样,发送端设备可以以n比特为传输的单位符号,相较于传统的以1比特为单位符号进行数据传输的方式,若传输的数据中携带有突发错误数据时,错误的单位符号较少,减少了传输过程中错误的单位符号个数。减少突发错误数据扩散,提高数据传输可靠性。
进一步的,由于发送端设备将x个第二数据流以n(n≥2)比特为粒度映射得到z个第三数据流进而输出,其映射粒度相较于Bit Mux架构中的映射粒度大,当第三数据流中在传 输过程中携带有突发错误数据时,若接收端设备进行FEC符号纠错,该突发错误数据会被转换至较少的FEC符号错误,减小了出现错误的FEC符号错误数量,提高FEC码字纠错处理的成功率,提高纠错性能,保证后续数据传输的正确率。
可选地,每个所述第二数据流中的数据携带有对齐字,上述发送端设备将所述x个第二数据流以n比特为粒度,映射得到z个第三数据流的过程可以包括:
发送端设备将所述x个第二数据流的对齐字移除;
发送端设备将移除对齐字的x个第二数据流以所述n比特为粒度,映射得到z个第三数据流;
发送端设备按照所述x个第二数据流与所述z个第三数据流的映射关系,对所述z个第三数据流中每个第三数据流添加对齐字。
可选地,由于接收端设备接收的数据格式和输入通道的数量可能与发送端设备输出的数据格式和输出通道的数量不相同,因此,为了匹配接收端设备的数据格式和输入通道,发送端设备可以对z个第三数据流进行进一步处理,所述将所述z个第三数据流通过输出通道输出,包括:
发送端设备将所述z个第三数据流以n比特为粒度,映射得到x个第五数据流,将所述x个第五数据流以q比特为粒度,映射得到s个第四数据流,将所述s个第四数据流通过所述输出通道输出;
或者,发送端设备将所述z个第三数据流以n比特为粒度,映射得到s个第四数据流中,将所述s个第四数据流通过所述输出通道输出;
其中,上述所述s为正整数,所述q≥2。
或者,所述将z个第三数据流通过输出通道输出,包括:
发送端设备将所述z个第三数据流以n比特为粒度,映射得到x个第五数据流;
发送端设备将所述x个第五数据流以比特为粒度进行复用处理,得到s个第四数据流;
发送端设备将所述s个第四数据流通过所述输出通道输出,其中,所述s为正整数。
这样,发送端设备还可以匹配接收端设备所支持的数据格式和通道的数量,实现对接收端设备的兼容。
由于发送端设备可以处于不同的应用场景,因此发送端设备的待传输数据流可能经过复杂的传输环境,导致其存在突发错误数据,因此,发送端设备可以对该待传输数据流的传输过程中对其进行纠错处理,以减少突发错误数据。例如,该纠错处理可以为FEC码字纠错处理,也称为RS错误修正(Reed-Solomon error correction),也称FEC恢复(FEC recovery)。
当所述x个第二数据流包括至少一个前馈纠错FEC码字的数据,在所述将所述x个第二数据流的数据以n比特为粒度,映射得到z个第三数据流之前,所述方法还包括:
发送端设备对所述x个第二数据流进行FEC码字纠错处理,得到纠错后的x个第二数据流。
当所述x个第二数据流包括多个FEC码字的数据时,在所述对所述x个第二数据流进行FEC码字纠错处理,得到纠错后的x个第二数据流之前,所述方法还包括:
发送端设备对所述x个第二数据流,进行FEC符号为粒度的解映射处理,得到以FEC码字为单位的数据;
所述对所述x个第二数据流进行FEC码字纠错处理,得到纠错后的x个第二数据流,包 括:发送端设备对所述以FEC码字为单位的数据进行FEC码字纠错处理,得到纠错后的数据;将所述纠错后的数据以所述FEC符号为粒度进行映射处理,得到纠错后的x个第二数据流。
这样,发送端设备通过对x个第二数据流进行FEC码字纠错处理,保证了后续处理中数据的准确性。
可选地,上述发送端设备将所述x个第二数据流以n比特为粒度,映射得到z个第三数据流映射的过程可以有多种实现方式,本申请以以下几种方式为例进行说明。
第一种方式,z=1,所述将所述x个第二数据流以n比特为粒度,映射得到z个第三数据流,包括:
发送端设备轮询所述x个第二数据流中的每个第二数据流;
发送端设备将轮询得到的所述每个第二数据流中连续的n比特数据,依次映射得到1个第三数据流。
第二种方式,z≥2,x≥2,所述将所述x个第二数据流以n比特为粒度,映射得到z个第三数据流,包括:
发送端设备依次轮询所述x个第二数据流的每个第二数据流,并将轮询得到的数据映射至第三数据流,直至所述x个第二数据流的数据完全映射得到z个第三数据流,每次轮询得到所述每个第二数据流中连续的n比特数据;
对于每个第二数据流,任意相邻两次轮询得到的数据映射到不同的第三数据流中。
其中,在轮询x个第二数据流时,轮询顺序可以满足以下任一种:
先轮询偶数序列号的第二数据流,后轮询奇数序列号的第二数据流;
先轮询奇数序列号的第二数据流,后轮询偶数序列号的第二数据流;
或者,按照序列号递增或递减的顺序轮询第二数据流。
示例的,当z=2,x=8时,所述将所述x个第二数据流以n比特为粒度,映射得到z个第三数据流,包括:
发送端设备依次轮询所述8个第二数据流的每个第二数据流,并将轮询得到的数据映射至第三数据流,直至所述8个第二数据流的数据完全映射得到2个第三数据流,发送端设备每次轮询得到所述每个第二数据流中连续的n比特数据:
对于每个第二数据流,任意相邻两次轮询得到的数据映射到不同的第三数据流中;
在一种可选方式中,在轮询8个第二数据流时,可以按照第二数据流的序列号递增的顺序。例如,当8个第二数据流依次具有序列号0-7,在轮询x个第二数据流时,轮询的第二数据流的序列号的排序依次为:0、1、2、3、4、5、6和7,且为了保证对于每个第二数据流,任意相邻两次轮询得到的数据映射到不同的第三数据流中,在相邻的两个轮询周期中,同一第二数据流映射到的第三数据流的顺序翻转,其中一个轮询周期为轮询一次x个第二数据流的过程,也即是在一个轮询周期能够获取x个n比特数据。示例的,对于一个第二数据流,在一个轮询周期中,其映射至一个第三数据流,在相邻的另一个轮询周期中,其映射至另一个第三数据流。
在另一种可选方式中,当8个第二数据流依次具有序列号0-7,在轮询x个第二数据流时,轮询的第二数据流的序列号的排序依次为:0、1、3、2、4、5、7、6。同理,在相邻的两个轮询周期中,映射到的第三数据流的顺序翻转。
例如,所述x个第二数据流中每个数据流包括两个FEC码字,z=2,x=8,8个第二数据 流被均分为2个数据流组;
所述将所述x个第二数据流以n比特为粒度,映射至z个第三数据流中,包括:
交替执行第一轮询过程和第二轮询过程,直至所述8个第二数据流完全映射至2个第三数据流,所述第一轮询过程和所述第二轮询过程中每次轮询过程包括:
轮询所述8个第二数据流中的每个第二数据流,将轮询得到的属于同一数据流组的所述每个第二数据流中连续的n比特数据映射至同一第三数据流中;
其中,所述第一轮询过程和所述第二轮询过程中,属于同一数据流组的数据映射到的第三数据流不同。
当z=4,x=16时,所述将所述x个第二数据流以n比特为粒度,映射得到z个第三数据流,包括:
发送端设备依次轮询所述16个第二数据流的每个第二数据流,并将轮询得到的数据映射至第三数据流,直至所述16个第二数据流的数据完全映射得到4个第三数据流,每次轮询得到所述每个第二数据流中连续的n比特数据:
对于每个第二数据流,任意相邻两次轮询得到的数据映射到不同的第三数据流中。
在一种可选方式中,在轮询16个第二数据流时,可以先轮询两个连续的偶数序列号的第二数据流,后轮询两个连续的奇数序列号的第二数据流。例如,当8个第二数据流依次具有序列号0-15,在轮询16个第二数据流时,轮询的第二数据流的序列号的排序依次为:0、2、1、3、4、6、5、7、8、10、9、11、12、14、13和15,且为了保证对于每个第二数据流,任意相邻两次轮询得到的数据映射到不同的第三数据流中,在相邻的两个轮询周期中,映射到的第三数据流的顺序为第三数据流序列号递增或者按照第三数据流的序列号为:2、3、0和1的翻转,其中一个轮询周期为轮询一次x个第二数据流的过程,也即是在一个轮询周期能够获取x个n比特数据。示例的,对于一个第二数据流,在一个轮询周期中,其映射至一个第三数据流,在相邻的另一个轮询周期中,其映射至另一个第三数据流。
在另一种可选方式中,当16个第二数据流依次具有序列号0-15,在轮询16个第二数据流时,轮询的第二数据流的序列号的排序依次为:0、1、2、3、5、4、7、6、8、9、10、11、13、12、15和14,同理,在相邻的两个轮询周期中,映射到的第三数据流的顺序为第三数据流序列号递增或者按照第三数据流的序列号为1、0、3和2的翻转。
例如,所述x个第二数据流中每个数据流包括两个FEC码字,z=4,x=16,所述16个第二数据流被均分为4个第一数据流组,且所述16个第二数据流被均分为4个第二数据流组,每个所述第二数据流组包括2个所述第一数据流组的第二数据流;
所述将所述x个第二数据流以n比特为粒度,映射至z个第三数据流中,包括:
对于每个第二数据流组,交替执行第一轮询过程和第二轮询过程,直至所述第二数据流组中的第二数据流完全映射至1个第三数据流,所述第一轮询过程和所述第二轮询过程中每次轮询过程包括:
轮询所述第二数据流组中的第二数据流中的每个第二数据流,将轮询得到的属于同一第一数据流组的所述每个第二数据流中连续的n比特数据映射至同一第三数据流中;
其中,所述第一轮询过程和所述第二轮询过程中,属于同一第一数据流组的数据映射到的第三数据流不同。
可选地,所述n为一个FEC符号包含的比特的数量。
可选地,由于在实际应用中,发送端设备的输出通道可能存在损坏,一旦使用损坏的输出通道进行数据发送,则可能导致传输数据的缺失,因此,为了保证数据的有效传输,发送端设备可以确定输出的数据流的数量,使得输出的数据流的数量小于或等于可用的输出通道个数,或者,输出的数据流的数量等于预设输出通道个数。这样,可以降低该数据传输方法实际实现时的编码难度,简化数据处理过程,节省处理开销。
进一步地,在数据传输过程中,发送端设备可以根据实际需求选择是否对x个第二数据流的数据进行再编码处理,以满足更多的需求。因此,在所述将所述x个第二数据流以n比特为粒度,映射得到z个第三数据流中之前,所述方法还包括:
发射端设备对所述x个第二数据流进行内码FEC编码,得到编码后的x个第二数据流;
或者,当每个第二数据流携带有校验位时,发射端设备移除所述x个第二数据流中每个数据的校验位,将移除校验位后的x个第二数据流进行第二FEC编码,得到编码后的x个第二数据流,所述第二FEC编码的编码方式与移除所述校验位之前采用的第一FEC编码的编码方式不同。
其中,所述内码FEC编码的码型和所述第二FEC编码的码型可以为下列码型其中之一:里德-所罗门码RS码、博斯-查德胡里-霍昆格母码BCH码、汉明码、低密度奇偶校验LDPC码、极化码或卷积码。
这样,由于对x个第二数据流进行了不同类型的FEC编码,从而使得该数据传输方法可以适配更多的应用场景,提高了该数据传输方法的通用性,同时,这样还增加了数据的保护的类型,进一步保障了数据的安全。
需要说明的是,上述处理过程中数据流可能存在数据排列上的问题,例如存在数据存储不齐、数据流的乱序和数据流偏移的情况,因此,发送端设备可以对数据流执行对齐处理、去偏移处理和重排序处理中的至少一个,以便保证后续处理过程中数据的有效性。
示例的,在所述得到所述x个第二数据流之后,发送端设备可以对所述x个第二数据流执行对齐处理、去偏移处理和重排序处理中的至少一个。
第二方面,本申请提供一种数据传输方法,应用于接收端设备,所述方法包括:
接收端设备通过输入通道获取z个第三数据流;
接收端设备将所述z个第三数据流以n比特为粒度,映射得到x个第二数据流,所述z个第三数据流是以n比特为粒度映射得到的;
接收端设备将所述x个第二数据流以比特为粒度进行复用处理,得到y个第一数据流;其中,所述z,所述n,所述x和所述y均为正整数,且所述n≥2。
可选地,所述每个所述第二数据流中的数据携带有对齐字,所述将所述z个第三数据流以n比特为粒度,映射得到x个第二数据流的过程可以包括:
接收端设备将所述z个第三数据流的对齐字移除;
接收端设备将移除对齐字的z个第三数据流以n比特为粒度,映射得到x个第二数据流;
接收端设备按照所述z个第三数据流与所述x个第二数据流的映射关系,对所述x个第二数据流中每个第二数据流添加对齐字。
可选地,由于上述第一方面中,发送端设备对z个第三数据流进行了进一步处理,相应的,所述通过输入通道获取z个第三数据流,包括:
接收端设备通过所述输入通道接收s个第四数据流,将所述s个第四数据流以q比特为 粒度,映射得到x个第五数据流,将所述x个第五数据流以n比特为粒度,映射得到所述z个第三数据流;
或者,接收端设备通过所述输入通道接收s个第四数据流,将所述s个第四数据流以n比特为粒度,映射得到所述z个第三数据流;其中,所述s为正整数,且所述q≥2。
或者,所述通过输入通道获取z个第三数据流,包括:
接收端设备通过所述输入通道接收s个第四数据流;
接收端设备将所述s个第四数据流以比特为粒度进行解复用处理,得到x个第五数据流;
接收端设备将所述x个第五数据流以n比特为粒度,映射得到所述z个第三数据流,其中,所述s为正整数。
由于接收端设备接收的数据流可能经过复杂的传输环境,导致其存在突发错误数据,因此,接收端设备可以对接收的数据流进行纠错处理,以减少突发错误数据。例如,该纠错处理可以为FEC码字纠错处理,也称为RS错误修正,也称FEC恢复。
当所述x个第二数据流包括至少一个前馈纠错FEC码字的数据时,在所述将所述x个第二数据流以比特为粒度进行复用处理,得到y个第一数据流之前,所述方法还包括:
接收端设备对所述x个第二数据流进行FEC码字纠错处理,得到纠错后的x个第二数据流。
当所述z个第三数据流包括多个FEC码字的数据时,在所述对所述x个第二数据流进行FEC码字纠错处理,得到纠错后的x个第二数据流之前,所述方法还包括:
接收端设备对所述x个第二数据流,进行FEC符号为粒度的解映射处理,以FEC码字为单位的数据;
接收端设备所述对所述x个第二数据流进行FEC码字纠错处理,得到纠错后的x个第二数据流,包括:
接收端设备对所述以FEC码字为单位的数据进行FEC码字纠错处理,得到纠错后的数据,将所述纠错后的数据以所述FEC符号为粒度进行映射处理,得到纠错后的x个第二数据流。
这样,接收端设备通过对x个第二数据流进行FEC码字纠错处理,保证了后续处理中数据的准确性。
可选地,上述接收端设备将z个第三数据流以n比特为粒度,映射得到x个第二数据流的方式有多种,本申请以以下几种为例进行说明。
第一种方式,z=1,
所述将z个第三数据流以n比特为粒度,映射得到x个第二数据流,包括:
接收端设备将1个第三数据流中连续的n比特数据,依次映射得到x个第二数据流。
第二种方式,z≥2,x≥2,
所述将所述z个第三数据流以n比特为粒度,映射得到x个第二数据流,包括:
接收端设备依次轮询所述z个第三数据流的每个第三数据流,并将轮询得到的数据映射至第二数据流,直至所述z个第三数据流的数据完全映射得到x个第二数据流,每次轮询得到所述每个第三数据流中连续的n比特数据:
对于每个第二数据流,任意相邻2次映射得到数据来自于不同的第三数据流。
其中,对于每个第三数据流,在将任意相邻x次轮询得到的数据映射到不同的x个第二数据流中时,映射顺序满足以下任一种:
先映射偶数序列号的第二数据流,后映射奇数序列号的第二数据流;
先映射奇数序列号的第二数据流,后映射偶数序列号的第二数据流;
或者,按照第二数据流的序列号递增的顺序映射。
由于在第二种情况下,发送端设备具有多种轮询顺序和映射顺序,因此,相应的,接收端设备的映射过程可以包含多种,本申请以以下多种为例进行说明。
示例的,当z=2,x=8时,所述将所述z个第三数据流以n比特为粒度,映射得到x个第二数据流,包括:
接收端设备依次轮询所述2个第三数据流的每个第三数据流,并将轮询得到的数据映射至第二数据流,直至所述2个第三数据流的数据完全映射得到8个第二数据流,每次轮询得到所述每个第三数据流中连续的n比特数据;
对于每个第二数据流,任意相邻2次映射得到数据来自于不同的第三数据流。该映射的过程可以参考上述第一方面z=2,x=8时,将所述x个第二数据流以n比特为粒度,映射得到z个第三数据流的过程。
例如,所述z个第三数据流中每个数据流包括两个FEC码字,z=2,x=8,
所述将z个第三数据流以n比特为粒度,映射至x个第二数据流中,包括:
交替执行第一轮询过程和第二轮询过程,直至2个第三数据流完全映射至x个第二数据流,所述第一轮询过程包括:
轮询所述2个第三数据流中的每个第三数据流,将轮询得到的所述每个第三数据流中4个连续的n比特数据依次分别映射至4个第二数据流中;
所述第二轮询过程包括:
轮询所述2个第三数据流中的每个第三数据流,将轮询得到的所述每个第三数据流中4个连续的n比特数据依次分别映射至另外4个第二数据流中。
示例的,当z=4,x=16时,接收端设备依次轮询4个第三数据流中的每个第三数据流,并将轮询得到的数据映射至第二数据流,直至4个第三数据流完全映射得到16个第二数据流,每次轮询得到每个第三数据流中连续的n比特数据,对于每个第三数据流,任意相邻2次映射得到数据来自于不同的第三数据流。该映射的过程可以参考上述第一方面z=4,x=16时,将所述x个第二数据流以n比特为粒度,映射得到z个第三数据流的过程。
例如,所述z个第三数据流中每个数据流包括两个FEC码字,z=4,x=16,
所述将z个第三数据流以n比特为粒度,映射至x个第二数据流中,包括:
对于每2个第三数据流,交替执行第一轮询过程和第二轮询过程,直至所述2个第三数据流中的第三数据流完全映射至8个第三数据流,所述第一轮询过程包括:
轮询所述2个第三数据流中的每个第三数据流,将轮询得到的所述每个第三数据流中4个连续的n比特数据依次分别映射至4个第二数据流中;
所述第二轮询过程包括:
轮询所述2个第三数据流中的每个第三数据流,将轮询得到的所述每个第三数据流中4个连续的n比特数据依次分别映射至另外4个第二数据流中。
可选地,所述n为一个FEC符号包含的比特的数量。
由于发送端设备对x个第二数据流的数据进行再编码处理,相应的,接收端设备对x个第二数据流进行再编码的解码。在所述将所述x个第二数据流以比特为粒度进行复用处理, 得到y个第一数据流之前,所述方法还包括:
接收端设备对所述x个第二数据流进行内码FEC解码,得到解码后的x个第二数据流,移除所述解码处理后的x个第二数据流包含的校验位,得到移除校验位后的x个第二数据流,所述校验位为发送端设备对所述x个第二数据流进行内码FEC编码时添加的;
或者,接收端设备将所述x个第二数据流进行第二FEC解码,得到解码后的x个第二数据流,将所述解码后的x个第二数据流进行第一FEC编码,得到编码后的x个第二数据流,所述第二FEC解码对应的编码方式与所述第一FEC编码的编码方式不同。
其中,所述内码FEC编码的码型和所述第二FEC编码的码型可以为下列码型其中之一:里德-所罗门码RS码、博斯-查德胡里-霍昆格母码BCH码、汉明码、低密度奇偶校验LDPC码、极化码或卷积码。
需要说明的是,上述处理过程中数据流可能存在数据排列上的问题,例如存在数据存储不齐、数据流的乱序和数据流偏移的情况,因此,接收端设备可以对数据流执行对齐处理、去偏移处理和重排序处理中的至少一个,以便保证后续处理过程中数据的有效性。
示例地,在所述将所述z个第三数据流以n比特为粒度,映射得到x个第二数据流之前,所述方法还包括:接收端设备对所述z个第三数据流执行对齐处理、去偏移处理和重排序处理中的至少一个。
第三方面,提供一种数据传输方法,应用于发送端设备,所述方法包括:
发送端设备将z个第三数据流以n比特为粒度,映射得到x个第五数据流,所述z个第三数据流是以n比特为粒度映射得到的;
发送端设备将所述x个第五数据流以q比特为粒度,映射得到s个第四数据流;
发送端设备将所述s个第四数据流分别通过输出通道输出;其中,所述z,所述n、所述x、所述q和所述s均为正整数,所述n≥2,所述q≥2。
可选地,所述n和/或所述q为一个FEC符号包含的比特的数量。
可选地,输出通道个数量小于或等于可用的输出通道个数,或者,输出通道个数量等于预设输出通道个数。
第四方面,提供一种数据传输方法,应用于发送端设备,所述方法包括:
发送端设备对z个第三数据流以n比特为粒度,映射得到x个第五数据流,所述z个第三数据流是以n比特为粒度映射得到的;
发送端设备将所述x个第五数据流以比特为粒度进行复用处理,得到s个第四数据流;
发送端设备将所述s个第四数据流分别通过输出通道输出;其中,所述z、所述n、所述x和所述s均为正整数,且所述n≥2。
可选地,所述n为一个FEC符号包含的比特的数量。
可选地,输出通道个数量小于或等于可用的输出通道个数,或者,输出通道个数量等于预设输出通道个数。
第五方面,提供一种数据传输方法,应用于接收端设备,所述方法包括:
接收端设备通过输入通道接收s个第四数据流;
接收端设备将所述s个第四数据流以q比特为粒度,映射得到x个第二数据流;
接收端设备将所述x个第二数据流以n比特为粒度,映射得到z个第三数据流;
其中,所述s、所述q、所述x、所述n和所述z均为正整数,且所述q≥2,所述n≥2。
第六方面,提供一种数据传输装置,应用于发送端设备,所述装置可以包括至少一个模块,该至少一个模块可以用于实现上述第一方面任一所述数据传输方法。
第七方面,提供一种数据传输装置,应用于接收端设备,所述装置可以包括至少一个模块,该至少一个模块可以用于实现上述第二方面任一所述数据传输方法。
第八方面,提供一种数据传输装置,应用于接收端设备,所述装置可以包括至少一个模块,该至少一个模块可以用于实现上述第三方面任一所述数据传输方法。
第九方面,提供一种数据传输装置,应用于接收端设备,所述装置可以包括至少一个模块,该至少一个模块可以用于实现上述第四方面任一所述数据传输方法。
第十方面,提供一种数据传输装置,应用于接收端设备,所述装置可以包括至少一个模块,该至少一个模块可以用于实现上述第五方面任一所述数据传输方法。
第十一方面,提供一种数据传输装置,包括:
处理器和存储器,所述存储器用于存储计算机执行指令,当所述处理器运行时,所述处理器执行所述存储器中的计算机执行指令,以实现如前述任一所述数据传输方法。
第十二方面,提供一种数据传输系统,包括:
发送端设备和接收端设备,所述发送端设备包括第一方面任一所述数据传输装置,所述接收端设备包括第二方面任一所述数据传输装置。
其中,所述发送端设备和所述接收端设备均包括主芯片;
或者,所述发送端设备和所述接收端设备均包括主芯片、时钟与数据恢复CDR芯片和光模块;
或者,所述发送端设备和所述接收端设备均包括主芯片和光模块;
或者,所述发送端设备包括:主芯片、CDR芯片和光模块,所述接收端设备包括主芯片和光模块;
或者,所述发送端设备包括:主芯片和光模块,所述接收端设备包括主芯片、CDR芯片和光模块。
第十三方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如前述任一所述数据传输方法。
第十四方面,提供一种计算机程序产品,所述计算机程序产品中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如前述任一所述数据传输方法。
第十五方面,提供一种芯片,所述芯片可以包括可编程逻辑电路和/或程序指令,当所述芯片运行时用于实现如前述任一所述数据传输方法。
示例地,该芯片包括处理器和存储器,所述存储器用于存储前述程序指令,当所述处理器运行时,所述处理器执行所述存储器中的程序指令,以实现如前述任一所述数据传输方法。
进一步地,该芯片可以为主芯片或者CDR芯片。
本申请提供的技术方案带来的有益效果至少可以包括:
在本申请中,发送端设备和接收端设备在进行数据传输的过程中,可以以n比特为传输的单位符号,相较于传统的以1比特为单位符号进行数据传输的方式,若传输的数据中携带有突发错误数据时,错误的单位符号较少,减少了传输过程中错误的单位符号个数。减少突发错误数据扩散,提高数据传输可靠性。
进一步的,本申请提供的数据传输方法,由于发送端设备将x个第二数据流(例如该第 二数据流以FEC通道输出)以n(n≥2)比特为粒度映射得到z个第三数据流进而输出(例如该第三数据流以实体通道输出),其映射粒度相较于Bit Mux架构中的映射粒度大,当第三数据流中在传输过程中携带有突发错误数据时,若接收端设备进行FEC符号纠错,该突发错误数据会被转换至较少的FEC符号错误,减小了出现错误的FEC符号错误数量,提高FEC码字纠错处理的成功率,提高纠错性能,保证后续数据传输的正确率。
附图说明
图1是本申请实施例提供的一种以太网接口的层级结构示意图;
图2是本申请实施例提供的一种Bit Mux处理的流程示意图;
图3是本申请实施例提供的一种Bit Mux架构示意图;
图4是本申请实施例提供的一种Bit Mux架构示意图;
图5是本申请实施例提供的一种Bit Mux架构示意图;
图6是本申请实施例提供的一种数据传输系统的结构示意图;
图7是本申请实施例提供的一种数据传输方法的流程图;
图8是本申请实施例提供的一种将x个第二数据流以n比特为粒度,映射得到z个第三数据流的方法流程图;
图9是本申请实施例提供的一种将接收到的z个第三数据流以n比特为粒度,映射得到x个第二数据流的方法流程图;
图10是本申请实施例提供的一种数据传输方法的流程图;
图11是本申请实施例提供的一种数据传输方法的流程图;
图12是本申请实施例提供的一种数据传输方法的流程图;
图13是本申请实施例提供的一种数据传输方法的流程图;
图14是本申请实施例提供的一种数据传输方法的流程图;
图15至图20是本申请实施例提供的几种映射过程的示意图;
图21至图23是本申请实施例提供的几种应用环境示意图;
图24是本申请实施例提供的一种以太网接口的层级结构示意图;
图25是本申请实施例提供的一种数据传输方法的流程图;
图26是本申请实施例提供的一种数据传输方法的流程图;
图27是本申请实施例提供的一种以太网接口的层级结构示意图;
图28是本申请实施例提供的一种数据传输方法的流程图;
图29是本申请实施例提供的一种数据传输方法的流程图;
图30至图33是本申请实施例提供的几种数据传输装置的结构示意图;
图34至图37是本申请实施例提供的几种数据传输装置的结构示意图;
图38至图42是本申请实施例提供的几种数据传输系统的结构示意图。
具体实施方式
目前IEEE802.3ck协议中,定义了基于100吉字节(G)电通道的100GE、200GE和400GE等以太网接口标准。例如,基于100交换宽带(Gbps)电通道的芯片到光模块(chip to module,C2M)接口的标准,即:100吉字节的附接单元接口(attachment unit interface,AUI)-1、 200GAUI-2和400GAUI-4接口标准。
请参考图1,其示出了IEEE802.3ck下IEEE802.3bs以及IEEE802.3cd定义的部分以太网接口的层级结构示意图,该IEEE802.3bs协议定义了200GE和400GE以太网接口标准,该IEEE802.3cd协议定义了50GE、100GE和200GE以太网接口标准。如图1所示,以太网接口的层级结构包括依次排布的介质访问控制(Media Access Control,MAC)层、协调子层(reconciliation Sublayer,RS)、物理编码字层(physical coding sublayer,PCS)、FEC层、PMA层、物理介质相关(physical medium dependent,PMD)层、自动协商(auto negotiation,AN)层以及媒体介质(medium)(例如,同轴线缆、光纤或者双绞线缆等),其中,RS和PCS之间设置有介质独立接口(medium independent interface,MII),部署于不同模块的PMA层(图1中以两个PMA层分别部署于不同模块上为例进行说明)之间设置有附接单元接口(attachment unit interface,AUI),AN和媒体介质之间设置有介质相关接口(Medium Dependent Interface,MDI)。其中,前述RS、PCS、FEC层、PMA层、PMD层和AN层属于太网接口的物理层。通常情况下(如50G/100GE场景下),被发送的数据会依次经过该MAC层、RS、PCS、FEC层、PMA层、PMD层、AN层和媒体介质,被接收的数据会依次经过媒体介质、AN层、PMD层、PMA层、FEC层、PCS、RS和MAC层。
可选的,在200GE/400GE场景下,在PMA层和PMD子层之间还可以包括以下层级:端口物理扩展子层(port physical layer extender sublayer,PHY XS)、PCS层以及PMA层。或者,在200GE/400GE场景下,FEC层的功能可以集成在PCS层。
其中,RS用于为MAC层和PCS之间传输的数据提供映射处理,PCS用于对传输的数据按照一定的编码方式进行编码处理或解码处理,FEC层用于实现FEC处理,PMA层用于支持PCS层实现多种物理媒体的使用,PMD子层用于实现PAM子层的数据信号与特定的媒体介质上传输信号之间的相互转换,AN子层用于连接自协商(Auto-Negotiation)设备,该自协商设备可以通过检测物理媒体端所支持的模式,来确定与物理层共同支持的模式,并将为该物理层配置该模式,PHY XS层用于扩展物理层的端口连接。MII可以用于传输不同速率的数据,其可以包括50GMII、100GMII和200G/400GMII等多种类型的数据。
值得说明的是,前述以太网接口的层级结构是以用于进行数据传输的设备所具备的功能进行划分的,在实际实现时,上述层级结构可以根据情况调整,例如层级可以增加、减少或合并,本申请实施例对此不做限定。
其中,PMA层采用Bit Mux架构,在该Bit Mux架构中执行Bit Mux处理,请参考图2,该处理包括:将PMA层获取的m个数据流映射得到x个数据流(该处理也称解复用处理),将得到的x个数据流映射得到y个数据流(该处理也称复用处理),该y个数据流通过一一对应的不同的PMA通道输出。其中,x是m和y的公倍数,且m、x和y均为正整数。为了便于读者理解,图3绘制了m=4,x=4,y=2的Bit Mux架构示意图,这种架构可以称为4:2架构;图4绘制了m=8,x=16,y=4的Bit Mux架构示意图,这种架构可以称为8:4架构。需要说明的是,图3和图4中各个数据流中携带的数据只是示意性说明,本申请实施并不对数据流中的数据内容进行限定。
为了便于读者理解,本申请实施例以图4的Bit Mux架构为例进行说明,图3的Bit Mux架构的原理可以参考该图4所示的Bit Mux架构,假设PMA层获取的m个数据流分别为数据 流D1至D8,其中,数据流D1中的数据包括11.7、2.8、11.6、2.7、11.5和2.6;数据流D2中的数据包括3.6、10.3、3.5、10.2、3.4和10.1;数据流D3中的数据包括4.4、13.8、4.3、13.7、4.2和13.6;数据流D4中的数据包括7.8、14.4、7.7、14.3、7.6、14.2;数据流D5中的数据包括1.7、9.8、1.6、9.7、1.5和9.6;数据流D6中的数据包括5.7、0.3、5.6、0.2、5.5和0.1;数据流D7中的数据包括15.5、6.8、15.4、6.5、15.3和6.6;数据流D8中的数据包括8.10、12.8、8.9、12.7、8.8和12.6。则该m个数据流D1至D8进行Bit Mux处理的过程为:
该数据流D1至D8以比特(即1比特)为粒度(也称为单位)进行解复用处理,得到解复用后的x个数据流。其中,m个数据流中每个数据流均通过解复用处理得到x个数据流中的两个数据流,则x个数据流为16个数据流,且每个数据流中的数据包括3比特数据,该16个数据流分别包括数据11.7、11.6、11.5;2.8、2.8、2.6;3.6、3.5、3.4;10.3、10.2、10.1;4.4、4.3、4.2;13.8、13.7、13.6;7.8、7.7、7.6;14.4、14.3、14.2;1.7、1.6、1.5;9.8、9.7、9.6;5.7、5.6、5.5;0.3、0.2、0.1;15.5、15.4、15.3;6.8、6.7、6.5;8.10、8.9、8.8;12.8、12.7、12.6。然后,将该16个数据流以比特为粒度进行复用处理,得到的4个数据流(即y=4),分别为数据流W1至W4,该数据流W1的数据包括11.7、3.6、2.8、10.3、11.6、3.5、2.7、10.2、11.5、3.4、2.6和10.1,;数据流W2的数据包括4.4、7.8、13.8、14.4、4.3、7.7、13.7、14.3、4.2、7.6、13.6、14.2;数据流W3的数据包括1.7、5.7、9.8、0.3、1.6、5.6、9.7、0.2、1.5、5.5、9.6和0.1;数据流W4的数据包括15.5、8.10、6.8、12.8、15.4、8.9、6.7、12.7、15.3、8.8、6.6和12.6。
值得说明的是,在该以太网接口标准下,发送端的单通道个数据传输速率通常与接收端的单通道个数据传输速率不同,通过前述PMA层的Bit Mux架构可以实现数据传输速率的转换,从而完成发送端和接收端的数据传输速率的匹配。
由于PMA层的Bit Mux架构中,PMA层是以比特为粒度进行数据的解复用处理和复用处理的,映射粒度较小,在该Bit Mux架构的影响下,目前发送端设备和接收端设备在进行数据传输的过程中,发送端设备的PMA层的输出通道和接收端设备的PMA层的输入通道之间的数据是以比特为单位传输的,也即是发射端和接收端中传输的单位符号为1比特。当发送端设备的PMA层的输出通道和接收端设备的PMA层中传输的数据中携带有突发错误数据时,该突发错误数据会携带在多个传输的单位符号中,引起突发错误数据较大的扩散,导致数据传输可靠性较低。
如5所示,假设m=1,y=4,也即是Bit Mux架构为1:4架构,若接收端设备的PMA层接收的1个数据流携带长度为连续的6比特的突发错误数据(图5中阴影部分的数据),也即是,发送端设备的PMA层的输出通道和接收端设备的PMA层中传输的数据存在6个单位符号的错误,接收端设备的PMA层以比特为粒度进行解复用(Bit De-Mux)处理后,需要经过FEC码字纠错处理,而FEC码字纠错处理是以FEC码字为单位进行纠错的,示例的,在IEEE802.3应用场景下,为了便于理解,假设图5所示的数据流中的数据以FEC符号为单位进行划分,且该FEC符号的长度为10比特(需要说明的是,目前数据流是以比特为单位进行传输的,这里只是为了便于进行说明而进行的假设),则图5所示的以1比特为单位符号传输的数据中的6比特的突发错误数据映射到该4个FEC符号的数据,造成了4个FEC符号错误(FEC符号错 误指的是FEC符号的数据中存在错误),引起突发错误数据较大的扩散,引起较多FEC符号错误。由于FEC码字纠错仅能纠正一定数量的FEC符号错误(例如,当采用RS(544,514)对应的FEC码字纠错时,最多可以纠正15个FEC符号错误),因此,一旦由突发错误数据引起的FEC符号错误的数量超出可纠正的FEC符号错误的数量,则会使得该FEC码字纠错处理的失败,降低纠错性能,无法纠正突发错误数据,降低后续数据传输的正确率。
请参考图6,其示出了本申请实施例提供的一种数据传输系统的结构示意图。该数据传输系统包括发送端设备10和接收端设备20,该发送端设备10与该接收端设备20建立有通信连接。该通信连接是基于前述以太网接口标准所建立的通信连接。其中,发送端设备10用于发送数据,接收端设备20用于接收数据;进一步地,发送端设备10可以对需要发送的数据进行编码,相应的,接收端设备20可以对接收的数据进行解码处理。示例的,发送端设备10和接收端设备20均包括主芯片;或者,发送端设备10和接收端设备20均包括主芯片、时钟与数据恢复(clock data recovery,CDR)芯片和光模块;或者,发送端设备10和接收端设备20均包括主芯片和光模块;或者,发送端设备10包括:主芯片、CDR芯片和光模块,接收端设备20包括主芯片和光模块;或者,发送端设备10包括:主芯片和光模块,接收端设备20包括主芯片、CDR芯片和光模块。上述发送端设备和接收端设备均可以应用于(或者说集成在)路由器、交换机或服务器等设备中。
为了方便读者理解,本申请实施例对下文涉及的数据传输方法中的一些定义进行解释:
FEC编码(FEC encode):指的是通过在传输的数据中加入冗余纠错码(该冗余纠错码所在位置称为校验位),使得解码端可以在一定条件下,通过FEC解码对该数据进行恢复,自动纠正传输过程中出现的误码(也即是错误数据)。衡量FEC编码的纠错能力的指标称为“FEC编码增益”,该增益与FEC编码的纠错性能正相关,也即是该增益越大表示该FEC编码的纠错性能越强。
映射处理:指的是将r个数据流按照一定的规则进行处理转换成t个数据流,r可以和t相等,也可以不等。该映射处理可以包括复用处理、解复用处理、交织处理和解交织处理,复用处理中,转化得到的数据流的个数小于转换前的数据流的个数,也即是t<r;解复用处理是复用处理的反过程,也即是转化得到的数据流的个数大于转换前的数据流的个数,也即是t>r;交织处理中,转换得到的至少一个数据流的数据来自转换前的至少两个数据流的数据,也即是通过交织处理,实现了不同数据流的数据的交错,解交织处理是交织处理的反过程,在解交织处理中,转换得到的至少两个数据流的数据来源于至少一个数据流的数据,也即是通过解交织处理,实现了交错的数据流的恢复。
本申请提供了一种数据传输方法,可以在不改变Bit Mux结构的基础上解决突发错误数据存在较大的扩散的问题。该数据传输方法中发送端设备可以先对获取到的y个第一数据流进行解复用处理,得到x个第二数据流,其中,y个第一数据流是经过Bit Mux处理得到的;然后,将x个第二数据流以n比特为粒度,映射得到z个第三数据流;之后,将z个第三数据流通过输出通道(output lane)输出。其中,y,x,n和z均为正整数,且n≥2,
上述输出通道可以是实体通道(也称物理通道、实通道或者接口),也可以是虚拟通道(也 称虚通道),本申请实施例对此不做限定。在本申请实施例中,发送端设备和接收端设备在进行数据传输的过程中,可以以n比特为传输的单位符号,相较于传统的以1比特为单位符号进行数据传输的方式,若传输的数据中携带有突发错误数据时,错误的单位符号较少,减少了传输过程中错误的单位符号个数。减少突发错误数据扩散,提高数据传输可靠性。
进一步的,本申请实施例提供的数据传输方法,由于发送端设备将x个第二数据流(例如该第二数据流以FEC通道输出)以n(n≥2)比特为粒度映射得到z个第三数据流进而输出(例如该第三数据流以实体通道输出),其映射粒度相较于Bit Mux架构中的映射粒度大,当第三数据流中在传输过程中携带有突发错误数据时,若接收端设备进行FEC符号纠错,该突发错误数据会被转换至较少的FEC符号错误,减小了出现错误的FEC符号错误数量,提高FEC码字纠错处理的成功率,提高纠错性能,保证后续数据传输的正确率。
其中,由于与发送端设备对应的接收端设备的输入通道(input lane)的数量和接收数据的格式不同,因此,发送端设备最终输出的数据流的内容不同,得到该最终输出的数据流的方式也不同,相应的数据传输方法不同,本申请实施例以以下几种可选的实现方式为例进行说明。
第一种可选的实现方式,请参考图7,其示出了本申请实施例提供的一种数据传输方法的流程图,该数据传输方法可以应用于图6所示的系统,如图7所示,该方法包括:
步骤101、发送端设备获取y个第一数据流,y个第一数据流是经过Bit Mux处理得到的。
发送端设备需要将生成或者接收的待传输数据流传输至接收端设备时,该待传输数据流至少经过Bit Mux处理,示例的,请参考前述图1,发送端设备在发送待传输数据时,该待传输数据流通常经过MAC层、RS、PCS、FEC层后传输至PMA层,然后经过PAM层的Bit Mux处理,以实现发送端设备与接收端设备之间的数据速率匹配。
本申请实施例假设发送端设备获取了y个第一数据流,该y个第一数据流是经过Bit Mux处理得到的,y为正整数。本申请实施例提供的数据传输方法是针对该y个第一数据流执行的。
如前所述,若采用前述图3至图5任一所示的Bit Mux架构,发送端设备获取的y个第一数据流可以是由至少1个数据流经过Bit Mux处理得到的,则该至少1个数据流可以为前述的m个数据流,处理得到的y个第一数据流即前述的y个数据流。该至少1个数据流可以为发送端设备生成或者接收的待传输数据流经过指定处理得到的,也可以与待传输数据流相同,本申请实施例对此不做限定。该指定处理可以为经过MAC层、RS、PCS和FEC层中的至少一种处理。
值得说明的是,待传输数据流通常需要经过FEC层,由FEC层对该待传输数据流进行第一FEC编码(FEC encode),以对待传输数据流进行FEC码字纠错处理,保证该待传输数据流的准确性。示例的,该第一FEC编码可以是RS(544,514)。则相应的,该y个第一数据流也是经过第一FEC编码得到的。
步骤102、发送端设备对获取到的y个第一数据流进行解复用处理,得到x个第二数据流。
如步骤101所述,获取的y个第一数据流是经过Bit Mux处理得到的,如图2至图4所 示,在该Bit Mux处理过程中,先将m个数据流以比特为粒度进行解复用处理用得到x个数据流,再将得到的x个数据流以比特为粒度进行复用处理得到y个数据流,本申请实施例提供的数据传输方法可以针对Bit Mux处理过程中复用处理前的数据进行进一步处理,为了获取复用处理前的数据流,发送端设备可以对获取到的y个第一数据流进行以比特为粒度的解复用处理,从而得到x个第二数据流。该x个第二数据流与Bit Mux处理过程中x个数据流的内容通常相同,或者至少数据流的个数相同。本申请实施例提供的数据传输方法还可以针对Bit Mux处理前的数据进行进一步处理,为了获取Bit Mux处理前的数据流,发送端设备可以对获取到的y个第一数据流进行以比特为粒度的解复用处理,在将解复用处理得到的数据进行复用处理,从而得到x个第二数据流。该x个第二数据流与Bit Mux处理前的m个数据流的内容通常相同,或者至少数据流的个数相同,其中,x为正整数。
本申请实施例以针对Bit Mux处理过程中复用处理前的数据进行进一步处理为例进行说明。则,继续以图4所示的例子为例,发送端设备对4个第一数据流W1至W4进行解复用处理,得到16个第二数据流。
步骤103、发送端设备将x个第二数据流以n比特为粒度,映射得到z个第三数据流。
其中,x个第二数据流的每个第二数据流中的数据携带有对齐字(alignment marker,AM),该对齐字用于标识该第二数据流所属的输出通道。示例的,该AM包括第二数据流所属的输出通道的标识,例如,该第二数据流通过FEC通道输出,则AM包括该FEC通道的标识。
前述z和n为正整数,且n≥2,示例的,由于在IEEE802.3ck协议的应用场景下,需要执行RS(544,514)FEC处理,因此,当该数据传输方法应用于IEEE802.3ck协议的应用场景下时,n=10,也即是映射的粒度为一个FEC符号的长度。如前所述,在n=10的情况下,发送端设备和接收端设备在进行数据传输的单位符号相当于一个FEC符号。
如图8所示,上述将x个第二数据流以n比特为粒度,映射得到z个第三数据流中的过程可以包括:
步骤1031、发送端设备将x个第二数据流的对齐字移除。
发送端设备可以将x个第二数据流中的每个数据流中的数据携带的对齐字移除,该过程简称为对齐字移除。
步骤1032、发送端设备将移除对齐字的x个第二数据流以n比特为粒度,映射得到z个第三数据流。
示例的,在IEEE802.3ck协议的应用场景下,发送端设备可以将移除对齐字的x个第二数据流以10比特(FEC符号)为粒度映射得到z个第三数据流。
步骤1033、发送端设备按照x个第二数据流与z个第三数据流的映射关系,对z个第三数据流中每个第三数据流添加对齐字。
需要说明的是,上述对齐字的处理过程(步骤1031和步骤1033)也可以替换为:发送端设备直接按照x个第二数据流与z个第三数据流的映射关系,将数据中携带的对齐字进行覆盖,直接采用z个第三数据流中每个第三数据流的新的对齐字覆盖原有的对齐字即可。
还需要说明的是,上述步骤1033实际实现时可以分为对齐字映射和对齐字添加两步骤,其中,对齐字映射过程指的是发送端设备按照x个第二数据流与z个第三数据流的映射关系, 确定z个第三数据流的对齐字的过程,对齐字添加过程指的是发送端设备对z个第三数据流中每个第三数据流添加确定的相应的对齐字的过程。
步骤104、发送端设备将z个第三数据流通过输出通道输出。
可选的,上述步骤101至步骤103可以由发送端设备的PAM层,或者在发送端设备中新增的子层执行,示例的,该子层可以称为AUI扩展子层(extender sublayer,XS)。该AUI XS可以位于PMA层和PMA层之间,也可以位于PMA层和PMD层之间。步骤104可以由发送端设备的PMD层执行或者与接收端设备相连的其他接口层执行,例如,由发送端设备的PMA层执行。
当步骤104由PMD层执行时,该输出通道可以指的是PMD输出通道(该PMD输出通道为物理通道),则发送端设备将z个第三数据流与z个PMD输出通道一一对应,将该第三数据流通过对应的PMD输出通道从PMD层(也即是从MDI接口)输出。
步骤105、接收端设备通过输入通道获取z个第三数据流。
上述步骤104中发送端设备将z个第三数据流通过输出通道输出,相应的,该发送端设备对应的接收端设备,将通过输入通道(input lane)接收该z个第三数据流。
可选的,该步骤105可以由接收端设备的PMD层执行,或者与发送端设备相连的其他接口层执行,例如,接收端设备的PMA层执行。
当步骤105由PMD层执行时,该输入通道可以为z个PMD输入通道(该PMD输入通道为物理通道),则接收端设备通过z个PMD输入通道接收与z个PMD输入通道一一对应的z个第三数据流。
由于接收端设备需要的数据为未经过发送端设备处理的待发送数据,也即是需要的数据为未执行上述步骤102至104的数据,因此,该接收端设备对数据的处理过程与发送端设备对数据的处理过程相反,则该下述步骤的实现方式可以参考上述实施例中相应的步骤的实现方式。
步骤106、接收端设备将z个第三数据流以n比特为粒度,映射得到x个第二数据流。
由于发送端设备执行上述步骤103,相应的,接收端设备可以将z个第三数据流以n比特为粒度,映射得到x个第二数据流,如图9所示,该接收端设备将接收到的z个第三数据流以n比特为粒度,映射得到x个第二数据流中的过程可以包括:
步骤1061、接收端设备将z个第三数据流的对齐字移除。
该步骤1061的实现过程可以参考上述步骤1031的实现过程,本申请实施例对此不在赘述。
步骤1062、接收端设备将移除对齐字的z个第三数据流以n比特为粒度,映射得到x个第二数据流。
该步骤1062的实现过程与上述实施例中步骤1032的实现过程相反,因此,该步骤1062的实现过程可以参考上述实施例中步骤1032的实现过程,本申请实施例对此不在赘述。
示例的,在IEEE802.3ck协议的应用场景下,接收端设备可以将移除对齐字的z个第三数据流以10比特(FEC符号)为粒度映射得到x个第二数据流。
步骤1063、接收端设备按照z个第三数据流与x个第二数据流的映射关系,对x个 第二数据流中每个第二数据流添加对齐字。
该步骤1063的实现过程可以参考上述实施例中步骤1033的实现过程,本申请实施例对此不在赘述。
步骤107、接收端设备将x个第二数据流以比特为粒度进行复用处理,得到y个第一数据流。
由于上述步骤102中发送端设备中的x个第二数据流是对获取到的y个第一数据流进行解复用处理得到的,因此,接收端设备得到y个第一数据流的方法为将x个第二数据流进行解复用处理的反处理,也即是复用处理。该步骤107的实现方法可以参考上述步骤102的实现方式,本申请实施例对此不再赘述。
该第一种可选的实现方式所提供的数据传输方法,由于发送端设备将x个第二数据流以n(n≥2)比特为粒度映射得到z个第三数据流进而输出,因此发送端设备和接收端设备在进行数据传输的过程中,以n比特为传输的单位符号。
第二种可选的实现方式,请参考图10,其示出了本申请实施例提供的另一种数据传输方法的流程图,该数据传输方法可以应用于图6所示的系统,如图10所示,该方法包括:
步骤201、发送端设备获取y个第一数据流,y个第一数据流是经过Bit Mux处理得到的。
步骤202、发送端设备对获取到的y个第一数据流进行解复用处理,得到x个第二数据流。
步骤203、发送端设备将x个第二数据流以n比特为粒度,映射得到z个第三数据流。
步骤204、发送端设备将z个第三数据流以n比特为粒度,映射得到x个第五数据流,将该x个第五数据流以q比特为粒度,映射得到s个第四数据流。
由于接收端设备接收的数据格式和输入通道的数量可能与发送端设备输出的数据格式和输出通道的数量不相同,例如,该接收端设备支持接收以q比特为粒度进行处理的s个第四数据流,也即是接收端设备的数据格式是以q比特为粒度划分的格式,输入通道数量为s时,为了匹配接收端设备的数据格式和输入通道,发送端设备可以将z个第三数据流以n比特为粒度,映射得到x个第五数据流,然后将该x个第五数据流以q比特为粒度,映射得到s个第四数据流,使得该z个第三数据流转换为s个第四数据流,以匹配接收端设备所支持的数据格式和通道的数量。其中,q≥2,该x个第五数据流与前述x个第二数据流至少数据的属性相同,例如两者均为PMA层传输的数据,两者均通过PMA通道传输,进一步的,该x个第五数据流与前述x个第二数据流至少数据的内容也相同,此时,该x个第五数据流可以为前述步骤202中的x个第二数据流,则,将z个第三数据流以n比特为粒度,映射得到x个第五数据流中的映射过程,与上述步骤202中的映射过程相反。
需要说明的是,上述步骤203和步骤204可以由同一设备的同一模块执行,也可以由同一设备的不同模块执行。示例的,当发送端设备的芯片仅包括主芯片时,可以由主芯片执行上述步骤203和步骤204以得到s个第四数据流。当发送端设备的芯片包括主芯片和CDR芯片时,可以由主芯片执行上述步骤203,然后该主芯片将步骤203得到的z个第三数据流发送至CDR芯片,由该CDR芯片执行步骤204以得到s个第四数据流。
步骤205、发送端设备将s个第四数据流通过输出通道输出。
该步骤205的实现方式可以参考上述第一种可选的实现方式中步骤104的实现方式,本 申请实施例对此不再赘述。
步骤206、接收端设备通过输入通道接收s个第四数据流。
上述步骤205中发送端设备将s个第四数据流通过输出通道输出,相应的,该发送端设备对应的接收端设备,将通过输入通道接收该s个第四数据流。
该步骤206的实现方式可以参考上述第一种可选的实现方式中步骤105的实现方式,本申请实施例对此不再赘述。
步骤207、接收端设备将s个第四数据流以q比特为粒度,映射得到x个第五数据流,将该x个第五数据流以n比特为粒度,映射得到z个第三数据流。
由于发送端设备执行上述步骤204,相应的,接收端设备需要将s个第四数据流转换为z个第三数据流,也即是,执行上述步骤204的反向过程,其实现方式可以参考上述步骤204的实现方式,本申请实施例对此不再赘述。
步骤208、接收端设备将z个第三数据流以n比特为粒度,映射得到x个第二数据流,该z个第三数据流是以n比特为粒度映射得到的。
需要说明的是,上述步骤206和步骤207可以由同一设备的同一模块执行,也可以由同一设备的不同模块执行。示例的,当接收端设备的芯片仅包括主芯片时,可以由主芯片执行上述步骤206和步骤207以得到x个第二数据流。当接收端设备的芯片包括主芯片和CDR芯片时,可以由CDR芯片执行上述步骤206,然后该CDR芯片将步骤206得到的z个第三数据流发送至主芯片,由该主芯片执行步骤207以得到x个第二数据流。
步骤209、接收端设备将x个第二数据流以比特为粒度进行复用处理,得到y个第一数据流。
前述步骤201、步骤202和步骤203的实现方式可以依次参考上述第一种可选的实现方式中步骤101、步骤102和步骤103的实现方式,本申请实施例对此不再赘述;该步骤206、步骤208和步骤209的实现方式可以依次参考上述第一种可选的实现方式中步骤105、步骤106和步骤107的实现方式,本申请实施例对此不在赘述。
该第二种可选的实现方式所提供的数据传输方法,由于发送端设备将z个第三数据流以n比特为粒度,映射得到x个第五数据流,将该x个第五数据流以q(q≥2)比特为粒度,映射得到s个第四数据流进而输出,因此发送端设备和接收端设备在进行数据传输的过程中,以q比特为传输的单位符号,相较于传统的以1比特为单位符号进行数据传输的方式,若传输的数据中携带有突发错误数据时,错误的单位符号较少,减少了传输过程中错误的单位符号个数。减少突发错误数据扩散,提高数据传输可靠性。进一步的,还可以匹配接收端设备所支持的数据格式和通道的数量,实现对接收端设备的兼容。
第三种可选的实现方式,请参考图11,其示出了本申请实施例提供的一种数据传输方法的流程图,该数据传输方法可以应用于图6所示的系统,如图11所示,该方法包括:
步骤301、发送端设备获取y个第一数据流,y个第一数据流是经过Bit Mux处理得到的。
步骤302、发送端设备对获取到的y个第一数据流进行解复用处理,得到x个第二数据流。
步骤303、发送端设备将x个第二数据流以n比特为粒度,映射得到z个第三数据流。
步骤304、发送端设备将z个第三数据流以n比特为粒度,映射得到s个第四数据流。
由于接收端设备接收的数据格式和输入通道的数量可能与发送端设备输出的数据格式和输出通道的数量不相同,例如,该接收端设备支持接收以n比特为粒度进行处理的s个第四数据流,也即是接收端设备的数据格式是以n比特为粒度划分的格式,输入通道数量为s时,为了匹配接收端设备的数据格式和输入通道,发送端设备可以将z个第三数据流直接映射得到s个第四数据流,使得该z个第三数据流转换为s个第四数据流,以匹配接收端设备所支持的数据格式和通道的数量。其中,n≥2。这样,发送端设备将z个第三数据流转换为s个第四数据流的过程,相较于上述第二种可选的实现方式中步骤304的实现方式,减少了z个第三数据流转换成x个第二数据流的步骤,简化了对数据的处理,节省了处理开销。
需要说明的是,上述步骤303和步骤304可以由同一设备的同一模块执行,也可以由同一设备的不同模块执行。示例的,当发送端设备的芯片仅包括主芯片时,可以由主芯片执行上述步骤303和步骤304以得到s个第四数据流。当发送端设备的芯片包括主芯片和CDR芯片时,可以由主芯片执行上述步骤303,然后该主芯片将步骤303得到的z个第三数据流发送至CDR芯片,由该CDR芯片执行步骤304以得到s个第四数据流。
步骤305、发送端设备将s个第四数据流通过输出通道输出。
步骤306、接收端设备通过输入通道接收s个第四数据流。
步骤307、接收端设备将s个第四数据流以n比特为粒度,映射得到z个第三数据流。
由于发送端设备执行上述步骤304,相应的,接收端设备需要将s个第四数据流转换为z个第三数据流,也即是,执行上述步骤304的反向过程,其实现方式可以参考上述步骤304的实现方式,本申请实施例对此不再赘述。
步骤308、接收端设备将z个第三数据流以n比特为粒度,映射得到x个第二数据流,该z个第三数据流是以n比特为粒度映射得到的。
步骤309、接收端设备将x个第二数据流以比特为粒度进行复用处理,得到y个第一数据流。
前述步骤301、步骤302、步骤303、步骤305、步骤306、步骤308和步骤309的实现方式可以依次参考上述第二种可选的实现方式中步骤201、步骤202、步骤203、步骤205、步骤206、步骤208和步骤209的实现方式,本申请实施例对此不再赘述。
该第三种可选的实现方式所提供的数据传输方法,由于发送端设备将x个第二数据流以n(n≥2)比特为粒度,映射得到z个第三数据流,并将z个第三数据流以n比特为粒度,映射得到s个第四数据流,因此发送端设备和接收端设备在进行数据传输的过程中,以n比特为传输的单位符号,相较于传统的以1比特为单位符号进行数据传输的方式,若传输的数据中携带有突发错误数据时,错误的单位符号较少,减少了传输过程中错误的单位符号个数。减少突发错误数据扩散,提高数据传输可靠性。进一步的,还可以匹配接收端设备所支持的数据格式和通道的数量,实现对接收端设备的兼容。
第四种可选的实现方式,请参考图12,其示出了本申请实施例提供的一种数据传输方法的流程图,该数据传输方法可以应用于图6所示的系统,如图12所示,该方法包括:
步骤401、发送端设备获取y个第一数据流,y个第一数据流是经过Bit Mux处理得到的。
步骤402、发送端设备对获取到的y个第一数据流进行解复用处理,得到x个第二数据流。
步骤403、发送端设备将x个第二数据流以n比特为粒度,映射得到z个第三数据流。
步骤404、发送端设备将z个第三数据流以n比特为粒度,映射得到x个第五数据流,将该x个第五数据流以比特为粒度进行复用处理,得到s个第四数据流。
由于接收端设备接收的数据格式和输入通道的数量可能与发送端设备输出的数据格式和输出通道的数量不相同,例如,该接收端设备支持接收以比特为粒度进行处理的s个第四数据流,也即是接收端设备的数据格式是以比特为粒度划分的格式,输入通道数量为s时,为了匹配接收端设备的数据格式和输入通道,发送端设备可以将z个第三数据流以n比特为粒度,映射得到x个第五数据流,然后将该x个第五数据流以比特为粒度,映射得到s个第四数据流,使得该z个第三数据流转换为s个第四数据流,以匹配接收端设备所支持的数据格式和通道的数量。其中,q≥2,该x个第五数据流与前述x个第二数据流至少数据的属性相同,例如两者均为PMA层传输的数据,两者均通过PMA通道传输,进一步的,该x个第五数据流与前述x个第二数据流至少数据的内容也相同,此时,可以为步骤402中的x个第二数据流,则,将z个第三数据流以n比特为粒度,映射得到x个第五数据流中的映射过程,与上述步骤402中的映射过程相反。
步骤403和步骤404可以由同一设备的同一模块执行,也可以由同一设备的不同模块执行。示例的,当发送端设备的芯片仅包括主芯片时,可以由主芯片执行上述步骤403和步骤404以得到s个第四数据流。当发送端设备包括主芯片和CDR芯片时,可以由主芯片执行上述步骤403,然后该主芯片将步骤403得到的z个第三数据流发送至CDR芯片,由该CDR芯片执行步骤404以得到s个第四数据流。
步骤405、发送端设备将s个第四数据流通过输出通道输出。
步骤406、接收端设备通过输入通道接收s个第四数据流。
步骤407、接收端设备将s个第四数据流以比特为粒度进行解复用处理,得到x个第五数据流,将该x个第五数据流以n比特为粒度,映射得到z个第三数据流。
由于发送端设备执行上述步骤404,相应的,接收端设备需要将s个第四数据流转换为z个第三数据流,也即是,执行上述步骤404的反向过程,其实现过程可以参考上述步骤404,本申请实施例对此不再赘述。
步骤408、接收端设备将z个第三数据流以n比特为粒度,映射得到x个第二数据流,该z个第三数据流是以n比特为粒度映射得到的。
步骤409、接收端设备将x个第二数据流以比特为粒度进行复用处理,得到y个第一数据流。
前述步骤401、步骤402、步骤403、步骤405、步骤406、步骤408和步骤409的实现方式可以依次参考上述第二种可选的实现方式中步骤201、步骤202、步骤203、步骤205、步骤206、步骤208和步骤209的实现方式,本申请实施例对此不再赘述。
该第四种可选的实现方式所提供的数据传输方法,由于发送端设备将x个第二数据流以n(n≥2)比特为粒度,映射得到z个第三数据流,由于发送端设备将z个第三数据流以比特为粒度,映射得到s个第四数据流进而输出,还可以匹配接收端设备(如现有标准的接收端设备)所支持的数据格式和通道的数量,实现对接收端设备的兼容。
值得说明的是,前述四种可选的实现方式可以根据实际情况进行结合和调整,示例的,在执行步骤101至103之后,发送端设备可以基于确定的接收端设备所支持的数据格式和/ 或通道数量,选择执行步骤104、204、304或404以及相应的后续过程。这样发送端设备可以支持多种发送模式,每个模式可以对应一种前述的可选的实现方式,发送端设备在确定了接收端设备所支持的数据格式和/或通道数量后,可以调整至相应的模式,以匹配接收端设备接收端设备所支持的数据格式和/或通道数量,从而提高数据传输的灵活性。
值得说明的是,前述的四种可选的实现方式中,由于对待传输数据进行了n比特为粒度的映射处理后输出,产生了新的传输通道(该传输通道可以为实体通道也可以为虚拟通道),导致该待传输的数据的输出通道和数据格式等与接收端设备接收的数据格式和/或输入通道的数量可能不相同,则在数据流传输过程中,为了保证前述发送端设备的数据可以有效的发送至接收端设备,一些其他传输设备也存在相应的改进,例如,该其他传输设备可以为前述发送端设备的中继设备,其相对于前述发送端设备为接收端设备,其相对于前述接收端设备为发送端设备,后续第五种和第六种可选的实现方式是假设该其他传输设备为发送端设备为例进行说明的,则本申请实施例还提供以下两种数据传输方法,包括:
第五种可选的实现方式,假设接收端设备支持接收的数据为以q比特为粒度进行处理的s个第四数据流,其中,s为正整数,q≥2,也即是接收端设备的数据格式是以q比特为粒度划分的格式,输入通道数量为s。请参考图13,其示出了本申请实施例提供的一种数据传输方法的流程图,如图13所示,该方法包括:
步骤501、发送端设备将z个第三数据流以n比特为粒度,映射得到x个第五数据流,z个第三数据流是以n比特为粒度映射得到的。
其中,z、n和x均为正整数,且n≥2。该z个第三数据流可以是该发送端设备生成的,也可以是接收到的其他设备发送的数据,本申请实施例对此不做限定。
步骤502、发送端设备将x个第五数据流以q比特为粒度,映射得到s个第四数据流。
步骤503、发送端设备将s个第四数据流分别通过输出通道输出。
该步骤501和步骤502的实现方式可以参考上述第二种可选的实现方式中步骤204的实现方式,该步骤503的实现方式可以参考上述第二种可选的实现方式中步骤205的实现方式,本申请实施例对此不再赘述。
步骤504、接收端设备通过输入通道接收s个第四数据流。
步骤505、接收端设备将s个第四数据流以q比特为粒度,映射得到x个第二数据流。
步骤506、接收端设备将x个第二数据流以n比特为粒度,映射得到z个第三数据流。
其中,s、q、x、n和z均为正整数,且q≥2,n≥2。
该步骤501和步骤502的实现方式可以参考上述第二种可选的实现方式中步骤204的实现方式,该步骤503和步骤504的实现方式可以分别参考上述第二种可选的实现方式中步骤205和步骤206的实现方式,该步骤505和步骤506的实现方式可以参考上述第二种可选的实现方式中步骤207。本申请实施例对此不再赘述。
该第五种可选的实现方式所提供的数据传输方法,由于发送端设备将z个第三数据流以 n比特为粒度,映射得到x个第五数据流,因此其可以支持n比特为粒度的数据处理,且该发送端设备可以将x个第五数据流以q比特为粒度,映射得到s个第四数据流进而输出,可以匹配接收端设备所支持的数据格式和通道的数量,实现对接收端设备的兼容。值得说明的是,n=q=10时,发送端设备和接收端设备在进行数据传输的单位符号相当于一个FEC符号。
第六种可选的实现方式,假设接收端设备支持接收的数据为以比特为粒度进行处理的s个第四数据流,其中,s为正整数,也即是接收端设备的数据格式是以比特为粒度划分的格式,输入通道数量为s。请参考图14,其示出了本申请实施例提供的一种数据传输方法的流程图,如图14所示,该方法包括:
步骤601、发送端设备对z个第三数据流以n比特为粒度,映射得到x个第五数据流,z个第三数据流是以n比特为粒度映射得到的。
其中,z和w均为正整数,且n≥2。该z个第三数据流可以是该发送端设备生成的,也可以是接收到的其他设备发送的数据,本申请实施例对此不做限定。z个第三数据流是以n比特为粒度映射得到的,避免了当z个第三数据流之前的数据流存在突发错误数据时,z个第三数据流将该突发错误数据的进一步扩散。
步骤602、发送端设备将x个第五数据流以比特为粒度进行复用处理,得到s个第四数据流。
步骤603、发送端设备将s个第四数据流通过输出通道输出。
该步骤601和步骤602的实现方式可以参考上述第四种可选的实现方式中步骤404的实现方式,该步骤603的实现方式可以参考上述第四种可选的实现方式中步骤405的实现方式,本申请实施例对此不再赘述。
需要说明的是,接收端设备执行的动作可以参考传统的接收端设备的动作,本申请实施例对此不再赘述。
该第六种可选的实现方式所提供的数据传输方法,由于发送端设备将z个第三数据流以n比特为粒度,映射得到x个第五数据流,因此其可以支持n比特为粒度的数据处理,且该发送端设备可以将x个第五数据流以比特为粒度,映射得到s个第四数据流进而输出,可以匹配接收端设备所支持的数据格式和通道的数量,实现对接收端设备的兼容。
在前述步骤501和步骤601中的x个第五数据流与前述x个第二数据流至少数据的属性相同,例如两者均为PMA层传输的数据,两者均通过PMA通道传输,或者,两者均通过FEC通道传输,进一步的,该x个第五数据流与前述x个第二数据流至少数据的内容也相同,此时,该x个第五数据流可以为前述步骤202中的x个第二数据流。
值得说明的是,上述六种可选的实现方式中,n和/或q可以为一个FEC符号包含的比特的数量,则该n和q的取值可以根据当前发送端设备或者接收端设备对数据进行的FEC编码的编码方式确定。示例的,假设发送端设备对数据进行的FEC编码的编码方式为RS(544,514),则该n=10,这样,当上述五种可选的实现方式中n=10,则上述的五种数据传输方法可以是兼容IEEE802.3ck的应用场景。
需要说明的是,前述多种可选的实现方式中,各个数据流在传输过程中还可以进一步进行其他处理。
示例的,由于发送端设备可以处于不同的应用场景,因此发送端设备的待传输数据流可能经过复杂的传输环境,导致其存在突发错误数据,因此,发送端设备可以在该待传输数据流的传输过程中对其进行纠错处理,以减少突发错误数据。例如,该纠错处理可以为FEC码字纠错处理,也称为RS错误修正(Reed-Solomon error correction),也称FEC恢复(FEC recovery)。
值得说明的是,当待传输数据流为发送端设备生成的数据流时,该待传输数据流在发送端设备中各层级之间传输(例如在各模块的不同层级之间传输,如该发送端设备包括主芯片、CDR芯片和光模块,则该传输的数据流在主芯片、CDR芯片和光模块之间传输)可能会产生突发错误数据,因此,该发送端设备需要对待传输数据流进行纠错处理。示例的,当发送端设备包括主芯片和光模块(光模块中集成有CDR芯片),由于主芯片中的待传输的数据需要经过AUI接口传输至光模块中,从而经过光模块输出,而待传输的数据经过AUI接口向光模块传输的过程中,可能会产生较多的突发错误,因此,光模块在接收到主芯片传输的待传输的数据时,需要对该待传输的数据经过FEC码字纠错处理,从而纠正待传输的数据经过AUI接口引入的突发错误数据,保证待传输数据的准确率。需要说明的是,该纠错处理通常为光模块中的CDR芯片执行,这样,使得在具有CDR芯片的应用场景中(简称CDR场景)使用该数据传输方法,支持了FEC码字纠错处理(也即是是支持FEC算法),以实现CDR场景下,以太网传输过程中的FEC中继。
但是,实际应用中,当发送端设备的芯片仅包括主芯片时,由于该待传输数据流在发送端设备的一个模块的各层级之间传输时通常不会产生突发错误数据,因此该突发错误数据的产生几率较小,此时,该发送端设备可以不执行纠错处理,因此,该纠错处理为可选步骤。
当待传输数据流为发送端设备中各个模块需要中转的数据流(也即是待传输数据流是跨模块传输的数据流),或者发送端设备为中继设备(也即是待传输数据流是跨设备传输的数据流)时,由于该数据流在经过跨模块或者跨设备传输时可能会产生较多的突发错误,因此,该发送端设备需要将接收到的数据流进行纠错处理,从而保证传输数据的准确率。示例的,当发送端设备通过光模块接收到其他设备的主芯片发送的待传输数据流,由于该待传输数据流在经过主芯片输出时会经过PMD层,该PMD层容易在数据流中引入突发错误数据,因此,接收到的该待传输数据流需要经过纠错处理,从而纠正PMD层引起的突发错误数据。示例的,当发送端设备通过光模块向其他设备发送的待传输数据流,由于该待传输数据流在经过主芯片输出时会经过AUI接口,该AUI接口容易在数据流中引入突发错误数据,因此,光模块对从主芯片接收到的该待传输数据流需要经过纠错处理,从而纠正AUI层引入的突发错误数据。这样,由于在主芯片和CDR芯片中增加了FEC码字纠错处理的功能,且该FEC码字纠错处理在进行纠正突发错误数据的同时可以记录该突发错误数据,使得主芯片将待传输数据传输至光模块(指的是芯片到光模块(chip to module,C2M)),或者主芯片设备将待传输数据传输至主芯片(指的是芯片到芯片(chip to chip,C2M))时,可以通过该FEC码字纠错处理对突发错误数据进行监控和定位,
在本申请实施例中,假设在获取了x个第二数据流后,对该x个第二数据流进行了FEC码字纠错处理,也即是本申请实施例中可以在上述步骤103、步骤203、步骤303和步骤403之前,执行FEC码字纠错处理,其中,该x个第二数据流中每个第二数据流可以包括一个FEC码字部分或全部的数据。需要说明的是,在获取了x个第五数据流后(也即是步骤501或601 之后),也可以对该x个第五数据流进行FEC码字纠错处理,该纠错过程可以参考对x个第二数据流的纠错过程。当发送端设备对x个第二数据流进行FEC码字纠错处理时,由于一次FEC码字纠错处理是针对属于同一码字的数据进行的,因此,在x个第二数据流包括一个FEC码字的情况下和包括多个FEC码字的情况下,发送端设备对x个第二数据流进行FEC码字纠错处理的过程不同。本申请实施例以以下三种情况为例进行说明:
第一种情况,x个第二数据流仅包括一个FEC码字的数据。
在这种情况下,发送端设备可以直接对该x个第二数据流的数据进行FEC码字纠错处理,得到纠错后的x个第二数据流。该FEC码字纠错处理过程包括:发送端设备以FEC码字为单位对该x个第二数据流中的每个码字的数据进行纠错处理,从而得到纠错后的x个第二数据流。示例的,在100GE中,一个第二数据流包括一个码字码字的数据,可以以FEC码字为单位对二数据流进行纠错处理。
第二种情况,x个第二数据流中每个第二数据流包括多个FEC码字的数据。
当x个第二数据流中的每个第二数据流包括多个FEC码字的数据时,该x个第二数据流通常是针对码字进行前述某一数据处理得到的,则在对该x个第二数据流进行FEC码字纠错处理时,需要将包括多个FEC码字的x个第二数据流进行上述某一数据处理的反处理,从而将属于不同码字的第二数据流的数据进行分离。
上述某一数据处理可以是以FEC符号为粒度进行的映射处理,示例的,该映射处理可以为码字交织处理。例如,假设1个码字的数据内容为:S11、S12和S13,另一个码字的数据内容为S21、S22和S23,其中,S11、S12、S13、S21、S22和S23分别表示至少一个FEC符号的数据内容,则该1个码字的数据进行码字交织处理得到的1个第二数据流的数据包括S11、S21、S12、S22、S13和S23。则,对该FEC码字纠错处理的过程通常包括:
步骤A1、对x个第二数据流,进行FEC符号为粒度的解映射处理,得到以FEC码字为单位的数据。
前述解映射处理即为映射处理的反处理,示例的,当映射处理为码字交织处理时,解映射处理为解码字交织处理。
仍然以前述第一个示例为例,对第二数据流的数据进行解码字交织处理,得到以FEC码字为单位的数据为:S11、S12、S13、S21、S22和S23,其中,S11、S12和S13组成一个码字,S21、S22和S23组成一个码字。
步骤A2、对以FEC码字为单位的数据进行FEC码字纠错处理,得到纠错后的数据。
发送端设备对以FEC码字为单位的数据进行FEC码字纠错处理,得到纠错后的多个FEC码字的数据。其中,该FEC码字纠错处理与上述第一种情况下的FEC码字纠错处理相同,本申请实施例对此不在赘述。
步骤A3、将纠错后的数据以FEC符号为粒度进行映射处理,得到纠错后的x个第二数据流。
将纠错后的数据以FEC符号为粒度进行映射处理后,得到的纠错后的x个第二数据流与步骤A1中的格式相同,保证了对x个第二数据流进行FEC码字纠错处理前后,x个第二数据流的数据格式不会产生改变。仍然以前述第一种可选的方式中的例子为例,对纠错后的数据 为:S11、S12、S13、S21、S22和S23进行码字交织处理得到1个第二数据流:S11、S21、S12、S22、S13和S23。
需要说明的是,前述步骤A1至A3中的例子,只是以x个第二数据流进行码字交织处理所采用的每个FEC码字划分为3部分数据为例进行说明的,实际实现时,每个FEC码字还可以划分为多个数据,例如,在RS(544,514)场景下,每个FEC码字可以划分为544个部分的数据,每部分的数据为1个FEC符号。
本申请实施例在实际应用时,根据不同的应用场景,发送端设备还可以执行其他过程,例如,发送端设备可以在x个第二数据流中每个第二数据流包括多个FEC码字的情况下,仅执行步骤A1和A3,在一种可选地示例中,前述步骤A3中,将纠错后的数据以FEC符号为粒度进行映射处理,不进行交织处理,这样,在保证数据传输正确性的同时可以减少数据处理过程,减少码字交织过程,加快数据处理速度,节省处理开销。
又例如,发送端设备还可以不进行FEC码字纠错处理,这样可以在一定情况下减少数据处理过程,加快数据处理速度,节省处理开销。
第三种情况,x个第二数据流包括多个码字的数据,且每个第二数据流仅包括一个FEC码字的数据。
当x个第二数据流包括多个FEC码字的数据时,该x个第二数据流可以包括不同的码字的数据,且每个第二数据流仅包括一个FEC码字的数据。继续以上述第二种情况下的第一个示例为例,则,1个第二数据流的数据包括S11、S12和S13。此时,发送端设备仅需执行步骤A2即可完成对该x个第二数据流的FEC码字纠错处理。
相应的,由于接收端设备接收的数据流通常来自于发送端设备,该数据流通过跨设备或者跨模块传输可能会产生较多的错误,因此,该接收端设备也可以对接收到的数据流进行纠错处理,从而保证后续数据的准确率。则,在上述步骤107、步骤209、步骤309和步骤409之前,接收端设备可以对x个第二数据流进行FEC码字纠错处理,该FEC码字纠错处理与前述原理相同,由于一次FEC码字纠错处理是针对属于同一码字的数据进行的,因此,在x个第二数据流包括一个FEC码字的情况下和包括多个FEC码字的情况下,接收端设备对x个第二数据流进行FEC码字纠错处理的过程不同。对于x个第五数据流的处理原理相同,本申请实施例不在赘述。
则,该接收端设备对x个第二数据流进行FEC码字纠错处理的过程包括:当x个第二数据流仅包括一个FEC码字的数据时,接收端设备可以直接对该x个第二数据流进行FEC码字纠错处理,得到纠错后的x个第二数据流;当x个第二数据流中每个第二数据流包括多个FEC码字的数据时,接收端设备可以先对该x个第二数据流,进行FEC符号为粒度的解映射处理,得到以FEC码字为单位的数据,然后对以FEC码字为单位的数据进行FEC码字纠错处理,得到纠错后的数据流,之后将纠错后的数据以FEC符号为粒度进行映射处理,得到纠错后的x个第二数据流。当x个第二数据流包括多个FEC码字的数据,且每个第二数据流仅包括一个FEC码字的数据时,接收端设备也可以直接对该x个第二数据流进行FEC码字纠错处理,得到纠错后的x个第二数据流。这样,接收端设备通过对x个第二数据流进行FEC码字纠错处理,保证了后续处理中数据的准确性。
上述接收端设备在x个第二数据流包括一个FEC码字的情况下和包括多个FEC码字的情 况下,进行的FEC码字纠错处理的过程与前述发送端设备对x个第二数据流进行FEC码字纠错处理的过程相同,该接收端设备进行的FEC码字纠错处理的实现方式可以参考前述发送端设备进行的FEC码字纠错处理的实现方式,本申请实施例对此不在赘述。
进一步地,由于在步骤102、步骤202、步骤302和步骤402等步骤中,得到的x个第二数据流可能存在数据排列上的问题,例如存在数据存储不齐、数据流的乱序和数据流偏移的情况,因此,在步骤102、步骤202、步骤302和步骤402之后,发送端设备可以对x个第二数据流进行预处理,以便保证后续处理过程中数据的有效性。其中,预处理可以为下列处理方式中至少一种:对齐(也称对齐锁定,alignment lock)、去偏移(deskew)和重排序(lane reorder)。
示例的,在前述步骤102、步骤202、步骤302和步骤402的解复用得到的x个第二数据流的过程中,该x个第二数据流中的数据可能产生数据存储不齐的情况,进程在对不对齐的数据进行载入(也称读取)和处理时可能会引发进程错误,因此,发送端设备将x个第二数据流进行数据对齐锁定,以保证数据可以顺利载入并传输。实际实现时,可以以FEC符号为粒度对x个第二数据流进行对齐,需要说明的是,一个FEC符号的长度为固定值,示例的,在IEEE802.3ck标准的应用场景中,该FEC符号的长度为10比特。
需要说明的是,y个第一数据流是经过Bit Mux处理得到的,在该Bit Mux处理过程中,可能会引入数据流的乱序和偏移,而由y个第一数据流经过映射得到的x个第二数据流也可能存在数据流的乱序和偏移,因此,发送端设备也可以将x个第二数据流进行数据的去偏移和重排序,以得到正确的x个第二数据流的数据。示例的,上述对齐、去偏移和重排序可以是将数据按照n比特为粒度进行的。
相应的,由于接收端设备的接收的数据流可能经过复杂的传输环境,使得该数据流中存在例如数据流传输不齐、数据流乱序和数据偏移等错误,因此,在步骤105、步骤206、步骤306和步骤406之后,接收端设备可以对接收的数据流进行预处理,以便保证后续处理过程中数据的有效性。该预处理的实现过程与上述发送端设备对x个第二数据流进行预处理的实现过程相同,本申请实施例对此不再赘述。其中,在步骤105之后,接收端设备接收的数据为y个第一数据流,则接收端设备对y个第一数据里进行预处理;在步骤步骤206、步骤306和步骤406之后,接收端设备接收的数据为s个第四数据流,则接收端设备对s个第四数据流进行预处理。
值得说明的是,在数据传输的其他过程中,也可能存在数据流的数据排列上的问题,发送端设备和接收端设备仍然可以对获取的数据流执行前述预处理过程,该预处理过程可以参考前述对x个第二数据流进行预处理的过程。例如,在上述步骤106中,由于z个第三数据流中的数据为跨设备传输至接收端设备的,则该z个第三数据流的数据可能存在数据存储不齐、数据流的乱序和数据流偏移的情况,因此,在执行步骤106之前,可以先对该z个第三数据流执行对齐处理、去偏移处理和/或重排序处理,以得到正确的z个第三数据流,从而保证后续处理中数据的有效性。
进一步地,在数据传输过程中,发送端设备可以根据实际需求选择是否对x个第二数据流的数据进行再编码处理,以满足更多的需求。则在步骤103、步骤203、步骤303和步骤 403之前,发送端设备可以对x个第二数据流的数据进行再编码。由于发送端设备对x个第二数据流的数据进行再编码的方式有多种,本申请实施例以以下两种为例进行说明。
第一种可选的方式,发送端设备对x个第二数据流进行内码FEC编码(inner FEC encode),得到编码后的x个第二数据流。
如步骤101、步骤201、步骤301和步骤401所述,x个第二数据流通常已经经过了第一FEC编码,发送端设备对x个第二数据流进行内码FEC编码,得到的编码后的x个第二数据流实际上经过了两次FEC编码,其中第一FEC编码相对于该内码FEC编码可以称为外码FEC编码,该两次编码可以称为级联编码,则编码后的x个第二数据流可以称为级联编码数据。其中,内码FEC编码使得编码后的编码数据携带有一定长度的校验位,该级联编码指的是以码字为粒度进行的再编码。
示例的,如前所述第一FEC编码为RS(544,514),则发送端设备对x个第二数据流进行内码FEC编码后生成的级联编码可以称为与RS(544,514)级联的FEC编码。
由于发送端设备对x个第二数据流进行了级联编码,这样,使得该发送端设备的以太网接口在数据传输过程中支持基于RS(544,514)为外码编码的级联FEC编码算法(也称级联码)的扩展,从而使得该数据传输方法可以适配更多的应用场景,提高了该数据传输方法的通用性。进一步的,由于对x个第二数据流进行了多次编码,提高了数据的保护级别,进一步保障了数据传输的可靠性。
其中,该内码FEC编码的码型可以为下列码型其中之一:里德-所罗门码(Reed-Solomon,RS)码、博斯-查德胡里-霍昆格母码(Bose–Chaudhuri–Hocquenghem,BCH)码、汉明(Hamming)码、低密度奇偶校验(low density parity check,LDPC)码、极化(polar)码或卷积码。
第二种可选的方式,发送端设备对x个第二数据流进行第二FEC编码,得到编码后的x个第二数据流,其中,该第二FEC编码的编码方式与上述步骤101提及的第一FEC编码的编码方式不同,该第二FEC编码的码字可以为下列码字其中之一:RS码、BCH码、Hamming码、LDPC码、polar码或卷积码。
可选的,该第二FEC编码可以是增强FEC编码(stronger FEC encode),该增强FEC编码指的是对数据的保护级别比上述第一FEC编码对数据的保护级别高的编码方式。这样,使得该发送端设备的以太网接口在数据传输过程中可以支持增强FEC编码的扩展,并且发送端设备对x个第二数据流进行第二FEC编码可以提高数据的保护级别,进一步保障数据传输的可靠性。
上述发送端设备对x个第二数据流进行第二FEC编码,得到编码后的x个第二数据流的过程可以包括:
步骤B1、移除x个第二数据流中每个第二数据流的校验位。
步骤B2、将移除校验位后的x个第二数据流进行第二FEC编码,得到编码后的x个第二数据流。
发送端设备对移除校验位后的x个第二数据流进行第二FEC编码,也即是发送端设备对x个第二数据流中的纯数据(或者说不存在校验位的数据)进行第二FEC编码。
这样,由于对x个第二数据流进行了不同类型的FEC编码,从而使得该数据传输方法可 以适配更多的应用场景,提高了该数据传输方法的通用性,同时,这样还增加了数据的保护的类型,进一步保障了数据传输的可靠性。
需要说明的是,当发送端设备在步骤103、步骤203、步骤303和步骤403之前对x个第二数据流进行了再编码,相应的,接收端设备在接收到该再编码后的数据时,需要对该再编码后的数据进行解码处理。因此,接收端设备在步骤107、步骤209、步骤309和步骤409之前,可以执行对再编码的解码处理。由于发送端设备对数据进行再编码的方式有多种,相应的,接收端设备根据发送端设备对数据的再编码的方式,对接收端设备接收的x个第二数据流进行相应的再编码的解码处理,该再编码的解码处理可以包括:
第一种可选的方式,当发射端设备对数据进行内码FEC编码时,相应的,接收端设备对数据进行内码FEC解码(inner FEC decode)。该内码FEC解码的过程可以包括:
步骤C1、接收端设备对x个第二数据流进行内码FEC解码,得到解码后的x个第二数据流。
其中,该内码FEC解码的方式对应于上述发送端设备对数据进行内码FEC编码的方式,则该内码FEC解码的实现过程可能为上述接收端设备对数据进行内码FEC编码的实现过程的反过程。
步骤C2、接收端设备移除解码处理后的x个第二数据流包含的校验位,得到移除校验位后的x个第二数据流,校验位为发送端设备对x个第二数据流进行内码FEC编码时添加的。
接收端设备移除解码处理后的x个第二数据流包含的校验位,得到移除校验位后的x个第二数据流,使该x个第二数据流还原至发送端设备对x个第二数据流进行编码前的状态,同时,由于内码FEC解码的过程中,也即是对该x个第二数据流进行FEC码字纠错处理的过程,因此,接收端设备同时对该x个第二数据流进行了FEC码字纠错处理,保证了后续处理中数据的准确性。
需要说明的是,该内码FEC解码的码型与上述发送端设备对数据进行内码FEC编码的码型相同,示例的,该内码FEC编码的码型也可以为下列码型其中之一:RS码、BCH码、hamming、LDPC、polar或卷积码。
第二种可选的方式,当发送端设备对数据进行第二FEC编码时,相应的,接收端设备对数据进行第二FEC解码(FEC decode)。
可选的,为了增强对数据的保护级别,发送端设备通常对数据进行的第二FEC编码为增强FEC编码,因此,相应的,接收端设备通常对数据进行的第二FEC解码为增强FEC解码(stronger FEC decode)。
与上述第二FEC编码的过程对应,上述第二FEC解码的过程可以包括:
步骤D1、接收端设备将x个第二数据流进行第二FEC解码,得到解码后的x个第二数据流。
其中,该第二FEC解码的方式对应于上述发送端设备对数据进行第二FEC编码的方式,则该第二FEC解码的实现过程可能为上述接收端设备对数据进行第二FEC编码的实现过程的反过程。
步骤D2、接收端设备将解码后的x个第二数据流进行第一FEC编码,得到编码后的 x个第二数据流,第二FEC解码对应的编码方式与第一FEC编码的编码方式不同。
接收端设备将解码后的x个第二数据流进行第一FEC编码,得到编码后的x个第二数据流,保证了编码后的x个第二数据流与发送端设备对x个第二数据流进行第二FEC编码之前的数据相同。同时,由于第二FEC解码的过程中,也即是对该x个第二数据流进行FEC码字纠错处理的过程,因此,接收端设备同时对该x个第二数据流进行了FEC码字纠错处理,保证了后续处理中数据的准确性,进一步的,当该第二FEC编码为增强FEC编码,接收端设备对x个第二数据流进行增强FEC解码后,由于增强FEC解码的纠正能力较强,通常情况下可以认为经过增强FEC解码的x个第二数据流不存错误数据(例如,由PMD层传输产生的突发错误数据),该接收端设备可以不执行前述FEC码字纠错处理,减少了数据处理步骤,降低了处理开销。
需要说明的是,该第二FEC解码的码型与上述发送端设备对数据进行第二FEC编码的码型相同,示例的,该第二FEC编码的码型也可以为下列码型其中之一:RS码、BCH码、hamming、LDPC、polar或卷积码。
还需要说明的是,发送端设备对x个第二数据流的数据进行再编码,通常在步骤103、步骤203、步骤303和步骤403之前,在发送端设备对x个第二数据流进行FEC码字纠错处理之后执行,这样可以有效的保证再编码的数据的准确性。相应的,接收端设备对x个第二数据流的数据进行再编码的解码处理,通常在接收端设备对x个第二数据流进行FEC码字纠错处理之前执行,则,接收端设备通常对再编码的解码处理后的x个第二数据流进行FEC码字纠错处理。
进一步地,由于在实际应用中,发送端设备的输出通道可能存在损坏,一旦使用损坏的输出通道进行数据发送,则可能导致传输数据的缺失,因此,为了保证数据的有效传输,发送端设备可以在上述步骤103之前确定第三数据流的个数z;发送端设备也可以在上述步骤204、步骤304、步骤404、步骤502和步骤602之前,确定第四数据流的个数s,并在输出数据流时将数据流通过输出通道一一对应输出去。这样可以保证输出的数据流的数量与实际进行输出的输出通道的个数相等,实现输出的数据流与输出通道一一对应。
在一种示例中,输出的数据流的数量小于或等于可用的输出通道个数。示例的,假设当前发送端设备的输出通道个数为10,且2个输出通道损坏,则,发送端设备可以确定当前可用的输出通道个数为8,进而确定第三数据流的个数z≤8,或者确定第四数据流的个数s≤8。这样,灵活确定输出通道个数的方式,保证了数据输出的完整性,提高了数据传输的效率。
在另一种示例中,输出的数据流的数量等于预设输出通道个数,也即是在发送动作前,预先设置了发送端设备用于进行数据流输出的输出通道个数,其为固定值,则发送端设备直接将预设输出通道个数确定为第三数据流或者第四数据流的个数即可。这样,可以降低该数据传输方法实际实现时的编码难度,简化数据处理过程,节省处理开销。
进一步地,前述步骤103、步骤203、步骤303和步骤403中发送端设备将x个第二数据流以n比特为粒度映射得的z个第三数据流的映射的过程可以有多种实现方式,相应的,前述步骤106、步骤208、步骤308和步骤408中接收端设备将z个第三数据流以n比特为粒度 映射得到x个第二数据流的映射过程也有多种,本申请实施例对以下几种情况进行说明:
第一种情况,当第三数据流的个数z=1,且x个第三数据流仅包含一个FEC码字的数据时,发送端设备的映射过程包括:
步骤E1、发送端设备轮询x个第二数据流中的每个第二数据流。
轮询(round robin)指的是依次访问(也称询问)。发送端设备轮询x个第二数据流中的每个第二数据流指的是由发送端设备定时发出访问,依序访问每一个第二数据流,且该访问过程是周期执行的,在本申请实施例中,每一次访问一个第二数据流,得到的是该第二数据流中连续的n比特数据。
步骤E2、发送端设备将轮询得到的每个第二数据流中连续的n比特数据,依次映射得到1个第三数据流。
在本申请实施例中,发送端设备轮询一次x个第二数据流的过程称为一轮轮询过程或者一个轮询周期,也即是在一个轮询周期能够获取x个n比特数据,在第一种情况中,在一个轮询周期中,发送端设备轮询x个第二数据流的轮询顺序可以有多种,该轮询顺序指的是发送端设备轮询x个第二数据流的顺序,该轮询顺序可以是预先设置的顺序,也可以是发送端设备根据实际情况实或者设定规则确定的顺序,示例的,该轮询顺序可以为以下的任一种:
第二数据流的序列号递增的顺序:或者,第二数据流的序列号递减的顺序;或者先偶数序列号的第二数据流,后奇数序列号的第二数据流的顺序;或者,先f1个偶数序列号的第二数据流,后f2个奇数序列号的第二数据流,再先f3个偶数序列号的第二数据流,后f4个奇数序列号的第二数据流的顺序,f1+f2+f3+f4=x,通常,f1=f3,f2=f4,例如,f1、f2、f3和f4均相等;或者,先g1个偶数序列号的第二数据流,后g2个奇数序列号的第二数据流,再先g3个奇数序列号的第二数据流,后g4个偶数序列号的第二数据流的顺序,g1+g2+g3+g4=x,通常,g1=g4,g2=g3,例如,g1、g2、g3和g4均相等;或者,先奇数序列号后偶数序列号,且奇偶序列号一一交错的第二数据流的顺序,例如,4个第二数据流的序列号为0、1、2和3,则轮询顺序为:序列号为1、0、3、2的第二数据流的顺序,或者,还可以为其他设定顺序,本申请对此不做限定。
需要说明的是,本申请实施例中,数据流的序列号可以是为数据流配置的独立的标识符号,也可以采用该数据流的传输通道号表示,还可以采用其携带的AM表示。并且,每两个相邻的轮询周期所采用的轮询顺序相同(即任意轮询两轮x个第二数据流所采用的轮询顺序相同),也即是均采用同一轮询顺序。
相应的,接收端设备的映射过程包括:接收端设备将1个第三数据流中连续的n比特数据,依次映射得到x个第二数据流,也即是每次映射的粒度是n比特。
在本申请实施例中,接收端设备映射一次不同的x个第二数据流的过程称为一轮映射过程或者一个映射周期,其中,也即是在一个映射周期对z个第三数据流能够获取x个n比特数据,在第一种情况中,接收端设备进行数据映射顺序通常与前述轮询顺序相同,该映射顺序指的是接收端设备将获取的x个n比特数据映射至x个第二数据流的顺序,该映射顺序可以为以下的任一种:
第二数据流的序列号递增的顺序:或者,第二数据流的序列号递减的顺序;或者先 偶数序列号的第二数据流,后奇数序列号的第二数据流的顺序;或者,先f1个偶数序列号的第二数据流,后f2个奇数序列号的第二数据流,再先f3个偶数序列号的第二数据流,后f4个奇数序列号的第二数据流的顺序,f1+f2+f3+f4=x,通常,f1=f3,f2=f4,例如,f1、f2、f3和f4均相等;或者,先g1个偶数序列号的第二数据流,后g2个奇数序列号的第二数据流,再先g3个奇数序列号的第二数据流,后g4个偶数序列号的第二数据流的顺序,g1+g2+g3+g4=x,通常,g1=g4,g2=g3,例如,g1、g2、g3和g4均相等;或者,先奇数序列号后偶数序列号,且奇偶序列号一一交错的第二数据流的顺序,例如,4个第二数据流的序列号为0、1、2和3,则映射顺序为:序列号为1、0、3、2的第二数据流的顺序,或者,还可以为其他设定顺序,本申请对此不做限定。
值得说明的是,本申请实施例在实际实现时,该第三数据流可能存在数据排列上的问题,接收端设备在前述将1个第三数据流,以n比特数据为粒度,依次映射得到x个第二数据流之前可能需要对第三数据流进行预处理,以便保证后续处理过程中数据的有效性。其中,预处理可以为下列处理方式中至少一种:对齐、去偏移和重排序处理。预处理得到的1个第三数据流与之前的第三数据流在数据排列上可能不同,接收端设备进行数据映射的映射顺序也与前述轮询顺序不再相同,只要保证映射后接收端设备获取到所需格式和个数的第二数据流即可,本申请实施例对此不再限定。
示例的,如图15所示,假设,n=10,以x个第二数据流仅包含一个FEC码字K的数据(也即是,仅有一个FEC码字的数据以10比特(FEC符号)为粒度分发至该x个第二数据流,该过程简称为符号分发(symbol distribution))为例对上述发射端设备和接收端设备的映射过程进行说明。假设该一个FEC码字包括544个FEC符号的数据,该544个FEC符号的数据的标识分别为C 0至C 543,且x个第二数据流的序列号分别为0至x-1。则,一个第二数据流包括544/x个FEC符号的数据,例如,第x-1个第二数据流包括FEC符号C 544-X至C 0,第x-2个第二数据流包括FEC符号C 544-X+1至C 1。值得说明的是,图15中绘制的FEC码字K只是为了便于读者理解该x个第二数据包括的数据来源于一个FEC码字K的数据,实际实现时,图15中的x个第二数据流并不是FEC码字K直接通过符号分发得到的。
则发送端设备的映射(即符号映射(symbol mapping))过程包括:
发送端设备轮询第1个第二数据流(即序列号为0的第二数据流)至第x个第二数据流(即序列号为x-1的第二数据流),并依次将第1个第二数据流的C 543(第1个连续的10比特数据)映射至第三数据流中,将第2个第二数据流的C 542(第1个连续的10比特数据)映射至第三数据流中,…,将第x-1个第二数据流的C 544-X+1(第1个连续的10比特数据)映射至第三数据流中,将第x个第二数据流的C 544-X+1(第1个连续的10比特数据)映射至第三数据流中,…,直至将所有第二数据流的全部数据映射至第三数据流中(也即将第x个第二数据流的C 0(最后一个连续的10比特数据)映射至第三数据流中),得到完整的1个第三数据流。此时,轮询顺序为第二数据流的序列号递增的顺序。
相应的,接收端设备的映射(即符号映射)过程包括:
接收端设备依次将该第三数据流的C 543(第1个连续的10比特数据)映射至第1个第二数据流,将C 542(第2个连续的10比特数据)映射至第2个第二数据流,…,直至将C 0(最后1个连续的10比特数据)映射至将第x个第二数据流,得到完整的x个第二 数据流,此时,映射顺序为第二数据流的序列号递增的顺序。
实际应用中,在以太网接口的速度为25GE的场景下,例如25GAUI-1接口,上述映射过程中x=1,在以太网接口的速度为50GE的场景下,例如50GAUI-1接口,上述映射过程中x=2,在以太网接口的速度为100GE的场景下,例如100GAUI-1接口,上述映射过程中x=4。
例如,假设在发射端设备和接收端设备具有100GAUI-1接口,则该应用场景下,发送端设备的100GAUI-1接口的映射过程包括:发送端设备轮询第1个第二数据流至第4个第二数据流,然后依次将第1个第二数据流的C 543映射至第三数据流中,将第2个第二数据流的C 542映射至第三数据流中,将第3个第二数据流的C 541映射至第三数据流中,将第4个第二数据流的C 540映射至第三数据流中,…,直至将第4个第二数据流的C 0映射至第三数据流中,得到完整的1个第三数据流。对于接收端设备,相应的,接收端设备依次将将第三数据流C 543映射至将第1个第二数据流,…,直至将第三数据流C 1映射至将第3个第二数据流,将第三数据流的C 0映射至将第4个第二数据流,得到完整的4个第二数据流。
这样,由于x个第二数据流仅映射得到1个第三数据流,因此,当数据流通过AUI-1接口的通道被连续传输时,接收端设备不需要对该1个第三数据流进行对齐处理,同时,由于x个第二数据流之间的相对关系是固定的(例如,每个第二数据流均包含固定数量的FEC符号的数据),因此,接收端设备可以通过对接收的数据进行单次定界,也即是仅进行一次数据流边界的确定,即可确定每个x个第二数据流的边界。
进一步的,一个FEC码字包括数据和校验位,且对于同一FEC码字该数据和校验位之间存在唯一关系(该关系可以称为校验关系),该校验关系可以用于判断该数据是否属于同一码字。则,由于仅映射得到1个第三数据流,且该1个第三数据流仅包括一个FEC码字的数据,因此,当数据通过AUI-1接口的通道被连续传输时,接收端设备可以以一个FEC码字的数据量为粒度,对数据的校验关系进行自定界,确定该数据是否属于一个FEC码字,也可以确定该一个FEC码字的第一个FEC符号,从而确定该数据是否为上述1第三个数据流,进而确定该1个第三数据流的通道的边界,即可确定每个x个第二数据流的边界。
进一步的,由于x个第二数据流仅映射得到1个第三数据流,因此,x个第二数据流和1个第三数据流的映射关系为x对1的映射关系,该第三数据流仅需添加一个对齐字即可,则可以将上述步骤1033的过程可以替换为:对该1个第三数据流添加一个对齐字,实际实现时,可以选择前述x个第二数据流的对齐字中的一个作为第三数据流的对齐字,例如将第1个第二数据流的对齐字作为第三数据流的对齐字,这样可以不删除原第1个第二数据流的对齐字,实现第二数据流和第三数据流的对齐字的复用(或者重用),减少了处理流程,减少了对齐字映射的数据处理,避免了额外进行对齐字映射关系处理的实现负担,节省了处理开销。
第二种情况,当第三数据流的个数z=1,且x个第三数据流包含两个FEC码字的数据时,发送端设备的映射过程包括:
步骤F1、发送端设备轮询x个第二数据流中的每个第二数据流。
步骤F2、发送端设备将轮询得到的每个第二数据流中连续的n比特数据,依次映射得到1个第三数据流。
前述步骤F1和F2可以参考前述步骤E1和E2的过程,并且和前述第一种情况相同的是,在该第二种情况中,在一个轮询周期中,发送端设备轮询x个第二数据流的轮询顺序可以有多种,该轮询顺序指的是发送端设备轮询x个第二数据流的顺序,该轮询顺序可以参考前述第一种情况的轮询顺序。和前述第一种情况不同的是,在该第二种情况中,每相邻的两个轮询周期所采用的轮询顺序不同,也即是均采用不同的轮询顺序。
例如,每相邻的两个轮询周期所采用的轮询顺序包括:在一个轮询周期,轮询顺序为第二数据流的序列号递增的顺序,在另一个轮询周期,轮询顺序为:先奇数序列号后偶数序列号,且奇偶序列号一一交错的第二数据流的顺序。
例如,x=8,其中,假设8个第二数据流的序列号分别为0至7,每相邻的两个轮询周期所采用的轮询顺序包括:在一个轮询周期,轮询顺序为0至7的递增顺序,在另一个轮询周期,轮询顺序为:1、0、3、2、5、4、7、6的先奇数序列号后偶数序列号,且奇偶序列号一一交错的第二数据流的顺序。
相应的,接收端设备的映射过程包括:
接收端设备将1个第三数据流中连续的n比特数据,依次映射得到x个第二数据流。
该接收端设备的映射过程可以参考前述第一种情况下接收端设备的映射过程,并且和前述第一种情况相同的是,同理,在该第二种情况中,接收端设备进行映射的映射顺序通常与发送端设备的轮询顺序一致,该一致指的是接收端设备进行映射的整体映射顺序通常与发送端设备的整体轮询顺序相同,由于在该第二种情况中,发送端设备进行轮询时,每相邻的两个轮询周期所采用的轮询顺序不同,对应的,接收端设备在进行映射时每相邻两组数据的映射顺序不同,每组数据包括x个n比特数据。
例如,每相邻的两个两组数据所采用的映射顺序包括:对于一组数据,映射顺序为第二数据流的序列号递增的顺序,对于另一组数据,映射顺序为:先奇数序列号后偶数序列号,且奇偶序列号一一交错的第二数据流的顺序。
例如,x=8,其中,假设8个第二数据流的序列号分别为0至7,每相邻的两组数据所采用的映射顺序包括:对于一组数据,映射顺序为0至7的递增顺序,对于另一组数据,映射顺序为:1、0、3、2、5、4、7、6的先奇数序列号后偶数序列号,且奇偶序列号一一交错的第二数据流的顺序。
示例的,如图16所示,假设n=10,x=8,以x个第二数据流包含两个FEC码字A和码字B的数据(也即是,有两个FEC码字的数据以10比特(FEC符号)为粒度分发至该x个第二数据流,例如,两个FEC码字的数据以FEC符号为粒度进行码字交织处理至该x个第二数据流)为例对上述发射端设备和接收端设备的映射过程进行说明,假设每个FEC码字包括544个FEC符号的数据,其中,一个FEC码字A的544个FEC符号的数据的标识分别为C A,0至C A,543,另一个FEC码字B的544个FEC符号的数据的标识分别为C B,0至C B,543,且该8个第二数据流的序列号分别为0至7。则,一个第二数据流包括544×2/8个FEC符号的数据。例如,第1个第二数据流包括FEC符号C A,543、C B,539、…和C B,3,第2个第二数据流包括FEC符号C B,543、C A,539、…和C A,3,第3个第二数据流包括FEC符号C A,542、C B,538、…和C B,2,第8个第二数据 流包括FEC符号C B,540、C A,536、…和C A,0
则发送端设备的映射过程包括:
发送端设备在第一个轮询周期中,轮询第1个第二数据流至第8个第二数据流,并依次将第1个第二数据流的C A,543映射至第三数据流中,将第2个第二数据流的C B,543映射至第三数据流中,将第3个第二数据流的C A,542映射至第三数据流中,…,将第8个第二数据流的C B,540映射至第三数据流中,然后在第二个轮询周期中,轮询第2个第二数据流、第1个第二数据流、第4个第二数据流、第3个第二数据流、第6个第二数据流、第5个第二数据流、第8个第二数据流和第7个第二数据流,并依次将第2个第二数据流的C A,539映射至第三数据流中,将第1个第二数据流的C B,539映射至第三数据流中,将第4个第二数据流的C A,538映射至第三数据流中,将第3个第二数据流的C B,538映射至第三数据流中,…,将第8个第二数据流的C A,536映射至第三数据流中,将第7个第二数据流的C B,536映射至第三数据流中,…,直至最后一个轮询周期中,轮询第2个第二数据流、第1个第二数据流、第4个第二数据流、第3个第二数据流、第6个第二数据流、第5个第二数据流、第8个第二数据流和第7个第二数据流,…,直至将第8个第二数据流的C A,0映射至第三数据流中,将第7个第二数据流的C B,0映射至第三数据流中,得到完整的1个第三数据流,此时,第一轮询周期的轮询顺序为:第二数据流的序列号递增的顺序,第二轮询周期的轮询顺序为:1、0、3、2、5、4、7、6的先奇数序列号后偶数序列号,且奇偶序列号一一交错的第二数据流的顺序。其中,奇数个轮询周期内的映射过程相同(参考第一个轮询周期内的映射过程相同),偶数个轮询周期内的映射过程相同(参考第二个轮询周期内的映射过程)。
相应的,接收端设备的映射过程包括:
在第一个映射周期内,接收端设备映射的数据为第一组数据(即C A,543至C B,540),接收端设备依次将该第三数据流的C A,543(第1个连续的10比特数据)映射至第1个第二数据流,将C B,543(第2个连续的10比特数据)映射至将第2个第二数据流,将该第三数据流的C A,542(第3个连续的10比特数据)映射至第3个第二数据流,将该第三数据流的C B,542(第4个连续的10比特数据)映射至第4个第二数据流,将该第三数据流的C A,521(第5个连续的10比特数据)映射至第5个第二数据流,将该第三数据流的C B,541(第6个连续的10比特数据)映射至第6个第二数据流,将该第三数据流的C A,520(第7个连续的10比特数据)映射至第7个第二数据流,将C B,540(第8个连续的10比特数据)映射至第8个第二数据流;
然后,在第二个映射周期内,接收端设备映射的数据为第二组数据(即C A,539至C B,536),将C A,539(第9个连续的10比特数据)映射至第2个第二数据流,将C B,539(第10个连续的10比特数据)映射至第1个第二数据流,将C A,538(第11个连续的10比特数据)映射至第4个第二数据流,将C B,538(第12个连续的10比特数据)映射至第3个第二数据流,将C A,537(第13个连续的10比特数据)映射至第6个第二数据流,将C B,537(第14个连续的10比特数据)映射至第5个第二数据流,将C A,536(第15个连续的10比特数据)映射至第8个第二数据流,将C B,536(第16个连续的10比特数据)映射至第7个第二数据流,…,直至将C B,1(第542个连续的10比特数据)映射至第5个第二数据流,将C A,0(第543个连续的10比特数据)映射至第8个第二数据流,将C B,0(第544个连续的10比特数据) 映射至第7个第二数据流,得到完整的8个第三数据流,此时,第一映射周期的映射顺序为:第二数据流的序列号递增的顺序,第二映射周期的映射顺序为:1、0、3、2、5、4、7、6的先奇数序列号后偶数序列号,且奇偶序列号一一交错的第二数据流的顺序。其中,奇数个映射周期内的映射过程相同(参考第一个映射周期内的映射过程相同),偶数个映射周期内的映射过程相同(参考第二个映射周期内的映射过程)。
这样,由于x个第二数据流仅映射得到1个第三数据流,因此,当数据通过一个通道被连续传输时,接收端设备不需要对该1个第三数据流进行对齐处理,同时,由于x个第二数据流之间的相对关系是固定的,因此,接收端设备可以通过对接收的数据进行单次定界,也即是仅进行一次数据流边界的确定,即可确定每个x个第二数据流的边界。
进一步的,由于x个第二数据流仅映射得到1个第三数据流,因此,该1个第三数据流的对齐字可以不用确定上述步骤1033中的映射关系,重用x个第二数据流的对齐字,也即是直接对该1个第三数据流添加一个相同的对齐字即可,减少了对齐字映射的数据处理,避免了额外进行对齐字映射关系处理的实现负担,节省了处理开销。
第三种情况,当第三数据个数z≥2(即z=2或z>3),且x个第二数据流包括多个FEC码字的数据,其中,该多个FEC码字可以是2个FEC码字或至少3个FEC码字。则发送端设备和接收端设备的映射的实现方式有多种,本申请实施例以以下两种为例进行说明。
第一种实现方式,发送端设备的映射过程包括:
步骤G1、发送端设备依次轮询x个第二数据流的每个第二数据流,并将轮询得到的数据映射至第三数据流,直至x个第二数据流的数据完全映射得到z个第三数据流,每次轮询得到每个第二数据流中连续的n比特数据。
对于每个第二数据流,任意相邻两次轮询得到的数据映射到不同的第三数据流中。
前述步骤G1可以参考前述步骤E1和E2的过程,并且和前述第一种情况相同的是,在该第三种情况中,在一个轮询周期中,发送端设备轮询x个第二数据流的轮询顺序可以有多种,该轮询顺序可以参考前述第一种情况的轮询顺序,该轮询顺序指的是发送端设备轮询x个第二数据流的顺序。和前述第一种情况不同的是,在该第三种情况中,在一种可选示例中,每两个相邻的轮询周期所采用的映射顺序不同,该映射顺序指的是将轮询得到的数据映射到z个第三数据流中的顺序,也即是即使每相邻的两个轮询周期所采用的相同的轮询顺序,但映射顺序不同,最终映射到的第三数据流也不同。在另一种可选示例中,每两个相邻的轮询周期所采用的映射顺序相同。该映射顺序可以包括以下任一种:
第三数据流的序列号递增的顺序;或者,第三数据流的序列号递减的顺序;或者先偶数序列号的第三数据流,后奇数序列号的第三数据流的顺序;或者,先u1个偶数序列号的第三数据流,后u2个奇数序列号的第三数据流,再先u3个偶数序列号的第三数据流,后u4个奇数序列号的第三数据流的顺序,u1+u2+u3+u4=x,通常,u1=u3,u2=u4,例如,u1、u2、u3和u4均相等;或者,先h1个偶数序列号的第三数据流,后h2个奇数序列号的第三数据流,再先h3个奇数序列号的第三数据流,后h4个偶数序列号的第三数据流的顺序,h1+h2+h3+h4=x,通常,h1=h4,h2=h3,例如,h1、h2、h3和h4均相等;或者,先奇数序列号后偶数序列号,且奇偶序列号一一交错的第三数据流的顺序,例如,4个第三数据流的序列号为0、1、2和3,则映射顺序为:序列号为1、0、3、2的第三数据流的顺序;或者还可以为其他设定顺序。
相应的,接收端设备的映射过程包括:
步骤H1、接收端设备依次轮询该z个第三数据流的每个第三数据流,并将轮询得到的数据映射至第二数据流,直至该z个第三数据流的数据完全映射得到x个第二数据流,每次轮询得到的数据为该每个第三数据流中连续的n比特数据。
与前述第三种情况的发射端设备对应的,对于接收端设备,每两个相邻的映射周期所采用的轮询顺序相同或不同,且,每两个相邻的映射周期所采用的映射顺序相同或不同。
在每个映射周期中,该轮询顺序满足以下任一种:
第三数据流的序列号递增的顺序,或者,第三数据流的序列号递减的顺序,或者,先偶数序列号的第三数据流,后奇数序列号的第三数据流的顺序,或者,先u1个偶数序列号的第三数据流,后u2个奇数序列号的第三数据流,再先u3个偶数序列号的第三数据流,后u4个奇数序列号的第三数据流的顺序,u1+u2+u3+u4=x,或者,先h1个偶数序列号的第三数据流,后h2个奇数序列号的第三数据流,再先h3个奇数序列号的第三数据流,后h4个偶数序列号的第三数据流的顺序,h1+h2+h3+h4=x,或者,先奇数序列号后偶数序列号,且奇偶序列号一一交错的第三数据流的顺序,或者,还可以为其他设定顺序,本申请对此不做限定。
该映射顺序满足以下任一种:
第二数据流的序列号递增的顺序,或者,第二数据流的序列号递减的顺序,或者,先偶数序列号的第二数据流,后奇数序列号的第二数据流的顺序,或者,先f1个偶数序列号的第二数据流,后f2个奇数序列号的第二数据流,再先f3个偶数序列号的第二数据流,后f4个奇数序列号的第二数据流的顺序,f1+f2+f3+f4=x,或者,先g1个偶数序列号的第二数据流,后g2个奇数序列号的第二数据流,再先g3个奇数序列号的第二数据流,后g4个偶数序列号的第二数据流的顺序,g1+g2+g3+g4=x,或者,先奇数序列号后偶数序列号,且奇偶序列号一一交错的第二数据流的顺序,或者,还可以为其他设定顺序,本申请对此不做限定。
如前所述,在该第三种情况中,在一个映射周期中,接收端设备进行数据映射的顺序,即映射顺序通常与发射端设备在一个轮询周期的轮询顺序相同,接收端设备进行数据轮询的顺序通常与发射端设备在一个轮询周期的映射顺序相同。也即是,接收端设备的一个映射周期的映射顺序与发送端设备的一个轮询周期的轮询顺序对应相同,接收端设备的一个映射周期的轮询顺序与发送端设备的一个轮询周期的映射顺序对应相同。
由于在第三种情况下,发送端设备和接收端设备具有多种轮询顺序和映射顺序,因此,该发送端设备和接收端设备的映射过程可以包含多种,本申请实施例以以下多种为例进行说明。
第一种,当z=2和x=8时,发送端设备的映射过程包括:
发射端设备依次轮询8个第二数据流的每个第二数据流,并将轮询得到的数据映射至第三数据流,直至8个第二数据流的数据完全映射得到2个第三数据流,对于每个第二数据流,每次轮询得到每个第二数据流中连续的n比特数据。
其中,每两个相邻的轮询周期所采用的轮询顺序相同,例如,在每个轮询周期中,轮询顺序为先偶数序列号的第二数据流,后奇数序列号的第二数据流的顺序,也即是先轮询偶数序列号的第二数据流,后轮询奇数序列号的第二数据流,并且每两个相邻的轮询周期所采用的映射顺序不同,例如,对于每两个相邻的轮询周期,一个轮询周期采用的映射顺序为先映射至偶数序列号的第三数据流,后映射至奇数序列号的第三数据流, 另一个轮询周期采用的映射顺序为先映射至奇数序列号的第三数据流,后映射至偶数序列号的第三数据流,这样的顺序可以视为两个映射周期的映射顺序翻转。示例的,对于每个第二数据流,任意相邻两次轮询得到的数据映射到不同的第三数据流中。
相应的,接收端设备的映射过程包括:
接收端设备依次轮询2个第三数据流的每个第三数据流,并将轮询得到的数据映射至第二数据流,直至2个第三数据流的数据完全映射得到8个第二数据流,每次轮询得到每个第三数据流中连续的n比特数据。
其中,每两个相邻的映射周期所采用的轮询顺序不同,例如,对于每两个相邻的映射周期,一个映射周期采用的轮询顺序为第三数据流的序列号为奇数偶数一一交错的顺序,另一个映射周期采用的轮询顺序为第三数据流的序列号为偶数奇数一一交错的顺序,相当于两个映射周期的轮询顺序翻转。每两个相邻的映射周期所采用的映射顺序相同,例如,在每个映射周期中,映射顺序为先偶数序列号的第二数据流,后奇数序列号的第二数据流的顺序,也即是先映射到偶数序列号的第二数据流,后映射到奇数序列号的第二数据流。
例如,对于每个第三数据流,任意相邻8次轮询得到的数据(即一个映射周期的数据)映射到不同的8个第二数据流中,且映射顺序为:先映射奇数序列号的第二数据流,后映射偶数序列号的第二数据流。
示例的,如图17所示,假设n=10,x=8,z=2,以x个第二数据流包含两个FEC码字A和码字B的数据(也即是,有两个FEC码字的数据以10比特(FEC符号)为粒度分发至该x个第二数据流,例如,两个FEC码字的数据以FEC符号为粒度进行码字交织处理至该x个第二数据流)为例对上述映射发射端设备和接收端设备的过程进行说明,每个FEC码字包括544个FEC符号的数据,其中,一个FEC码字A的544个FEC符号的数据的标识分别为C A,0至C A,543,另一个FEC码字B的544个FEC符号的数据的标识分别为C B,0至C B,543,且该8个第二数据流的序列号分别为0至7。则,一个第二数据流包括544×2/8个FEC符号的数据。例如,第1个第二数据流包括FEC符号C A,543、C B,539、…和C B,3,第2个第二数据流包括FEC符号C B,543、C A,539、…和C A,3,第3个第二数据流包括FEC符号C A,542、C B,538、…和C B,2,第8个第二数据流包括FEC符号C B,540、C A,536、…和C A,0
则发送端设备的映射过程包括:
发送端设备在第一个轮询周期中,先轮询的第二数据流的序列号为:0、2、4和6,并依次将轮询得到的C A,543、C A,542、C A,541和C A,540映射至的第1个第三数据流(指的是序列号为0的第1个第三数据流)中,然后,轮询的第二数据流的序列号为:1、3、5和7,并依次将轮询得到的C B,543、C B,542、C B,541和C B,540映射至的第2个第三数据流(指的是序列号为1的第2个第三数据流)中;之后,发射端设备在第二个轮询周期中,先轮询的第二数据流的序列号为:0、2、4和6,并依次将轮询得到的C B,539、C B,538、C B,537和C B,536映射至的第2个第三数据流中,然后,轮询的第二数据流的序列号为:1、3、5和7,并依次将轮询得到的C A,539、C A,538、C A,537和C A,536映射至的第1个第三数据流中,…,直至发射端设备在最后一次轮询周期中,先轮询的第二数据流的序列号为:0、2、4和6,并依次将轮询得到的C B,3、C B,2、C B,1和C B,0映射至的第2个第三数据流中,然后,轮询的第二数据流的序列号为:1、3、5和7,并依次将轮询得到的C A,3、C A,2、C A,1和C A,0映射至的第1个第三数据流中, 得到完整的2个第三数据流。
相应的,接收端设备的映射过程包括:
接收端设备依次轮询2个第三数据流的每个第三数据流,在第一个映射周期内,将第1个第三数据流的C A,543映射至第1个第二数据流,将第2个第三数据流的C B,543映射至第2个第二数据流,将第1个第三数据流的C A,542映射至第3个第二数据流,将第2个第三数据流的C B,542映射至第4个第二数据流,将第1个第三数据流的C A,541映射至第5个第二数据流,将第2个第三数据流的C B,541映射至第6个第二数据流,将第1个第三数据流的C A,540映射至第7个第二数据流,将第2个第三数据流的C B,540映射至第8个第二数据流,…,在最后一个映射周期内,将第1个第三数据流的C A,3映射至第2个第二数据流,将第2个第三数据流的C B,3映射至第1个第二数据流,将第1个第三数据流的C A,2映射至第4个第二数据流,将第2个第三数据流的C B,2映射至第3个第二数据流,将第1个第三数据流的C A,1映射至第6个第二数据流,将第2个第三数据流的C B,1映射至第5个第二数据流,将第1个第三数据流的C A,0映射至第8个第二数据流,将第2个第三数据流的C B,0映射至第7个第二数据流,得到完整的8个第二数据流。
这样,由于映射得到2个第三数据中每个第三数据流仅包括一个FEC码字的数据,因此,当数据通过输出通道被连续传输时,接收端设备可以通过验证以一个FEC码字的数据量为粒度的数据的校验关系进行自定界,确定该数据是否属于一个FEC码字,进而确定一个FEC码字对应的输出通道的边界。
第二种,当z=2和x=8时,发送端设备的映射过程包括:
发送端设备依次轮询8个第二数据流的每个第二数据流,并将轮询得到的数据映射至第三数据流,直至8个第二数据流的数据完全映射得到2个第三数据流,其中,每两个相邻的轮询周期所采用的轮询顺序相同,例如,假设8个第二数据流依次具有序列号0-7,在轮询x个第二数据流时,轮询的第二数据流的序列号的排序依次为:0、1、3、2、4、5、7、6,并且每两个相邻的轮询周期所采用的映射顺序不同,例如,对于每两个相邻的轮询周期,一个轮询周期采用的映射顺序为第三数据流的序列号为奇数偶数一一交错的顺序,另一个轮询周期采用的映射顺序为第三数据流的序列号为偶数奇数一一交错的顺序,相当于两个轮询周期的映射顺序翻转。则对于每个第二数据流,任意相邻两次轮询得到的数据映射到不同的第三数据流中。
相应的,接收端设备的映射过程包括:
接收端设备依次轮询2个第三数据流的每个第三数据流,并将轮询得到的数据映射至第二数据流,直至2个第三数据流的数据完全映射得到8个第二数据流,对于每个第三数据流,每次轮询得到每个第三数据流中连续的n比特数据。其中,每两个相邻的映射周期所采用的轮询顺序不同,例如,对于每两个相邻的轮询周期,一个轮询周期采用的轮询顺序为第三数据流的序列号为奇数偶数一一交错的顺序,另一个轮询周期采用的轮询顺序为第二数据流的序列号为偶数奇数一一交错的顺序,相当于两个映射周期的轮询顺序翻转。每两个相邻的映射周期所采用的映射顺序相同,例如,在每个映射周期中,映射的第二数据流的序列号的排序依次为:0、1、3、2、4、5、7、6。
示例的,继续以图17所示的示例的8个第二数据流的数据为例,请参考图18,则发送端设备的映射过程包括:
发送端设备在第一次轮询周期中,轮询的第二数据流的序列号为:0、1、3、2、4、5、7、6,并将轮询得到的C A,543、C B,543、C B,542、C A,542、C A,541、C B,541、C B,540和C A,540交替映射至的第1个第三数据流和第2个第三数据流;在第二次轮询周期中,轮询的第二数据流的序列号为:0、1、3、2、4、5、7、6,并将轮询得到的C B,539、C A,539、C A,538、C B,538、C B,537、C A,537、C A,536和C B,536交替映射至的第2个第三数据流和第1个第三数据流,…,直至发射端设备在最后一次轮询周期中,轮询的第二数据流的序列号为:0、1、3、2、4、5、7、6,并将轮询得到的C B,3、C A,3、C A,2、C B,2、C B,1、C A,1、C A,0和C B,0交替映射至的第2个第三数据流和第1个第三数据流,得到完整的2个第三数据流。其中,奇数个轮询周期内的映射过程相同(参考第一个轮询周期内的映射过程相同),偶数个轮询周期内的映射过程相同(参考第二个轮询周期内的映射过程)。
相应的,接收端设备的映射过程包括:
接收端设备依次轮询2个第三数据流的每个第三数据流,在第一个映射周期中,接收端设备将第1个第三数据流的C A,543映射至第1个第二数据流,将第2个第三数据流的C B,543映射至第2个第二数据流,将第1个第三数据流的C B,542映射至第4个第二数据流,将第2个第三数据流的C A,542映射至第3个第二数据流,将第1个第三数据流的C A,541映射至第5个第二数据流,将第2个第三数据流的C B,541映射至第6个第二数据流,将第1个第三数据流的C B,540映射至第8个第二数据流,将第2个第三数据流的C A,540映射至第7个第二数据流…,在最后一个映射周期中,将第1个第三数据流的C A,3映射至第2个第二数据流,将第2个第三数据流的C B,3映射至第1个第二数据流,将第1个第三数据流的C B,2映射至第3个第二数据流,将第2个第三数据流的C A,2映射至第4个第二数据流,将第1个第三数据流的C A,1映射至第6个第二数据流,将第2个第三数据流的C B,1映射至第5个第二数据流,将第1个第三数据流的C B,0映射至第7个第二数据流,将第2个第三数据流的C A,0映射至第8个第二数据流,得到完整的8个第二数据流。其中,奇数个映射周期内的映射过程相同(参考第一个映射周期内的映射过程相同),偶数个映射周期内的映射过程相同(参考第二个映射周期内的映射过程)。
第三种,当z=4和x=16时,发送端设备的映射过程包括:
发送端设备依次轮询16个第二数据流的每个第二数据流,并将轮询得到的数据映射至第三数据流,直至16个第二数据流的数据完全映射得到4个第三数据流,对于每个第二数据流,每次轮询得到每个第二数据流中连续的n比特数据,其中,每两个相邻的轮询周期所采用的轮询顺序相同,例如,在每个轮询周期中,轮询顺序为先两个连续的偶数序列号的第二数据流,后两个连续的奇数序列号的第二数据流的顺序,也即是先轮询两个连续偶数序列号的第二数据流,后轮询两个连续奇数序列号的第二数据流,也即是在每个轮询周期中,轮询顺序为0、2、1、3、4、6、5、7、8、10、9、11、12、14、13和15,并且每两个相邻的轮询周期所采用的映射顺序不同,例如,对于每两个相邻的轮询周期,一个轮询周期采用的映射顺序为第三数据流的序列号递增的顺序,另一个轮询周期采用的映射顺序为第三数据流的序列号为:2、3、0和1的顺序,相当于两个轮询 周期的映射顺序翻转。示例的,对于每个第二数据流,任意相邻两次轮询得到的数据映射到不同的第三数据流中。其中,在轮询每16个第二数据流时,先轮询偶数序列号的第二数据流,后轮询奇数序列号的第二数据流。
相应的,接收端设备的映射过程包括:
接收端设备依次轮询4个第三数据流中的每个第三数据流,并将轮询得到的数据映射至第二数据流,直至4个第三数据流完全映射得到16个第二数据流,对于每个第三数据流,每次轮询得到每个第三数据流中连续的n比特数据,其中,每两个相邻的映射周期所采用的轮询顺序不同,例如,对于每两个相邻的映射周期,一个映射周期采用的轮询顺序为第三数据流的序列号递增的顺序,另一个映射周期采用的轮询顺序为第三数据流的序列号为第三数据流的序列号为:2、3、0和1的顺序,相当于两个映射周期的轮询顺序翻转。每两个相邻的映射周期所采用的映射顺序相同,例如,在每个映射周期中,映射顺序为先两个连续偶数序列号的第二数据流,后两个连续奇数序列号的第二数据流的顺序,也即是先映射到两个连续偶数序列号的第二数据流,后映射到两个连续奇数序列号的第二数据流,也即是在每个映射周期中,映射顺序为0、2、1、3、4、6、5、7、8、10、9、11、12、14、13和15。
例如,对于每个第三数据流,任意相邻16次轮询得到的数据映射至不同的16个第二数据流中,16个第二数据流依次具有序列号0-15,映射第二数据流的序列号的排序依次为先轮询偶数序列号的第二数据流,后轮询奇数序列号的第二数据流。
示例的,如图19所示,假设n=10,x=16,z=4,以x个第二数据流包含两个FEC码字A和码字B的数据(也即是,有两个FEC码字的数据以10比特(FEC符号)为粒度分发至该16个第二数据流,例如,两个FEC码字的数据以FEC符号为粒度进行码字交织处理至该16个第二数据流)为例对上述发射端设备和接收端设备的映射过程进行说明,每个FEC码字包括544个FEC符号的数据,其中,一个FEC码字A的544个FEC符号的数据的标识分别为C A,0至C A,543,另一个FEC码字B的544个FEC符号的数据的标识分别为C B,0至C B,543,且该16个第二数据流的序列号分别为0至15。则,一个第二数据流包括544×2/16个FEC符号的数据。例如,第1个第二数据流包括FEC符号C A,543、C B,539、…和C B,7,第2个第二数据流包括FEC符号C B,543、C A,539、…和C A,7,第3个第二数据流包括FEC符号C A,542、C B,538、…和C B,6,第15个第二数据流包括FEC符号C B,536、C A,528、…和C A,0
则发送端设备的映射过程包括:
发送端设备在第一个轮询周期内,先轮询的第二数据流的序列号为:0、2、4、6、8、10、12和14,并依次将轮询得到的C A,543、C A,542、C A,541、C A,540、C A,539、C A,538、C A,537和C A,536交替映射至的第1个第三数据流和第2个第三数据流中,然后,轮询的第二数据流的序列号为:1、3、5、7、9、11、13和15,并依次将轮询得到的C B,543、C B,542、C B,541、C B,540、C B,539、C B,538、C B,537和C B,536交替映射至的第3个第三数据流(指的是序列号为2的第三数据流)和第4个第三数据流(指的是序列号为3的第三数据流)中;
之后,在第二个轮询周期中,先轮询的第二数据流的序列号为:0、2、4、6、8、10、12和14,并依次将轮询得到的C B,535、C B,534、C B,533、C B,532、C B,531、C B,530、C B,529和C B,528交替映射至的第3个第三数据流和第4个第三数据流中,然后,轮询的第二数据流的序列号为:1、3、5、7、9、11、13和15,并依次将轮询得到的C A,535、C A,534、C A,533、C A,532、C A,531、C A,530、 C A,529和C A,528交替映射至的第1个第三数据流和第2个第三数据流中,…,直至得到完整的4个第三数据流。其中,奇数个轮询周期内的映射过程与第一个轮询周期内的映射过程相同,偶数个轮询周期内的映射过程与第二个轮询周期内的映射过程相同。
相应的,接收端设备的映射过程包括:
接收端设备依次轮询4个第三数据流中的每个第三数据流,将第1个第三数据流的C A,543映射至第1个第二数据流中,将第2个第三数据流的C A,542映射至第3个第二数据流中,将第3个第三数据流的C B,543映射至第2个第二数据流中,将第4个第三数据流的C B,542映射至第4个第二数据流中;之后,将第1个第三数据流的C A,541映射至第5个第二数据流中,将第2个第三数据流的C A,540映射至第7个第二数据流中,将第3个第三数据流的C B,541映射至第6个第二数据流中,将第4个第三数据流的C B,540映射至第8个第二数据流中,…,直至得到完整的16个第二数据流。
第四种,当z=4和x=16时,发送端设备的映射过程可以包括:
发送端设备依次轮询16个第二数据流的每个第二数据流,并将轮询得到的数据映射至第三数据流,直至16个第二数据流的数据完全映射得到4个第三数据流,对于每个第二数据流,每次轮询得到每个第二数据流中连续的n比特数据,其中,每两个相邻的轮询周期所采用的轮询顺序相同,例如,在每个轮询周期中,轮询顺序为第二数据流序列号递增的顺序,并且每两个相邻的轮询周期所采用的映射顺序不同,例如,对于每两个相邻的轮询周期,一个轮询周期采用的映射顺序为第三数据流序列递增的顺序或者第三数据流的序列号为1、0、3和2的顺序交错的顺序,另一个轮询周期采用的映射顺序为第三数据流的序列号为1、0、3和2的顺序或者第三数据流序列递增的顺序交错的顺序。示例的,对于每个第二数据流,任意相邻两次轮询得到的数据映射到不同的第三数据流中。其中,在轮询每16个第二数据流时,按照第二数据流的序列号递增的顺序轮询第二数据流。
相应的,接收端设备的映射过程可以包括:
接收端设备依次轮询所述4个第三数据流中的每个第三数据流,并将轮询得到的数据映射至第二数据流,直至所述4个第三数据流完全映射得到16个第二数据流,对于每个第三数据流,每次轮询得到每个第三数据流中连续的n比特数据,其中,每两个相邻的映射周期所采用的轮询顺序不同,例如,对于每两个相邻的映射周期,一个映射周期采用的轮询顺序为第三数据流序列递增的顺序或者第三数据流的序列号为1、0、3和2的顺序交错的顺序,另一个映射周期采用的轮询顺序为第三数据流的序列号为1、0、3和2的顺序或者第三数据流序列递增的顺序交错的顺序。每两个相邻的映射周期所采用的映射顺序相同,例如,映射顺序为第二数据流序列号递增的顺序。
例如,对于每个第三数据流,任意相邻16次轮询得到的数据映射至不同的16个第二数据流中,按照第二数据流的序列号递增的顺序轮询第二数据流。
示例的,如图20所示,继续以上述图19所述的示例的16个第二数据流的数据为例,发送端设备的映射过程可以包括:
发送端设备在第一个轮询周期内,依次轮询16个第二数据流,并将轮序得到的C A,543、C B,543、 C A,542、C B,542、C A,541、C B,541、C A,540、C B,540、C A,539、C B,539、C A,538、C B,538、C A,537、C B,537、C A,536和C B,536依次映射至第1个第三数据流、第2个第三数据流、第3个第三数据流和第4个第三数据流以及第2个第三数据流、第1个第三数据流、第4个第三数据流和第3个第三数据流。之后,在第二个轮询周期内,依次轮询16个第二数据流,并将轮序得到的C B,535、C A,535、C B,534、C A,534、C B,533、C A,533、C B,532、C A,532、C B,531、C A,531、C B,530、C A,530、C B,529、C A,529、C B,528和C A,528依次映射至第2个第三数据流、第1个第三数据流、第4个第三数据流和第3个第三数据流以及第1个第三数据流、第2个第三数据流、第3个第三数据流和第4个第三数据流中,…,直至得到完整的4个第三数据流。其中,奇数个轮询周期内的映射过程相同(参考第一个轮询周期内的映射过程相同),偶数个轮询周期内的映射过程相同(参考第二个轮询周期内的映射过程)。
相应的,接收端设备的映射过程包括:
接收端设备映射依次轮询4个第三数据流的每个第三数据流,在第一个映射周期内,接收端设备依次轮询第1个第三数据流、第2个第三数据流、第3个第三数据流、第4个第三数据流、第2个第三数据流、第1个第三数据流、第4个第三数据流、第3个第三数据流,第1个第三数据流、第2个第三数据流、第3个第三数据流、第4个第三数据流、第2个第三数据流、第1个第三数据流、第4个第三数据流和第3个第三数据流,将轮询得到的第三数据流的数据依次映射至16个第二数据流中,然后,在第二个映射周期内,轮询第2个第三数据流、第1个第三数据流、第4个第三数据流、第3个第三数据流、第1个第三数据流、第2个第三数据流、第3个第三数据流、第4个第三数据流、第2个第三数据流、第1个第三数据流、第4个第三数据流、第3个第三数据流、第1个第三数据流、第2个第三数据流、第3个第三数据流和第4个第三数据流,将轮询得到的第三数据流的数据依次映射至16个第二数据流中,…,直至得到完整的16个第二数据流。其中,奇数个映射周期内的映射过程相同(参考第一个映射周期内的映射过程相同),偶数个映射周期内的映射过程相同(参考第二个映射周期内的映射过程)。
值得说明的是,当上述x个第二数据流包含多个FEC码字的数据时,上述发送端设备的映射过程中x个第二数据流中每个第二数据流相邻的两个FEC符号通常属于不同的FEC码字。上述发送端设备的映射过程仅为示意性说明,只要保证上述发送端设备映射得到的z个第三数据流中每个第三数据流仅包括一个FEC码字的数据,或者包括两个FEC码字的数据,且该两个FEC码字的数据按照一定规律排列(例如,相邻的两个FEC符号属于不同的FEC码字)即可,本申请对此不再限定。
需要说明的是,当n为一个FEC符号包含的比特的数量时,上述映射也可以称为符号映射(symbol mapping)。
值得说明的是,前述几种情况均是以多个数据流的序列号从0开始设置为例进行说明,实际应用中,序列号也可以从1开始设置,本领域技术人员可以容易想到,由于序列号的设置方式不同,序列号的奇偶顺序相应不同,任意在本申请实施例的基础上可以想到的简单变化,都可以涵盖在本申请实施例的保护范围内,在此不再赘述。
如前所述,第二种可选的实现方式、第四种可选的实现方式、第五种可选的实现方式或第六种可选的实现方式中,x个第五数据流与前述x个第二数据流至少数据的属性相同,例如两者均为PMA层传输的数据,两者均通过PMA通道传输,又例如,两者均为PMA层中FEC 通道传输的数据,两者均通过FEC通道传输,进一步的,该x个第五数据流与前述x个第二数据流至少数据的内容也相同,此时,x个第五数据流即为x个第二数据流,则前述x个第五数据流可以参考前述x个第二数据流的映射过程,当然,其他映射过程实际上也可以参考前述x个第二数据流的映射过程,本申请实施例对此不再赘述。
需要说明的是,通常情况下,发送端设备和接收端设备在执行任一步骤时,均需要对待处理的数据进行对齐处理、去偏移处理和重排序处理中的至少一种,从而保证后续处理过程中数据的有效性。特别值得注意的是,由于通常数据的映射处理会改变数据的排列顺序等,易于出现数据不对齐情况,因此,在对数据进行映射处理(例如,该映射处理可能发生在数据跨层传输或者跨通道传输时)后,必须对数据进行对齐处理,以避免因数据不对齐使得后续处理出现进程错误。
还需要说明的是,本申请实施例提供的数据传输方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减。任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
进一步需要说明的是,图16至图20中绘制的FEC码字A和码字B只是为了便于读者理解该x个第二数据包括的数据来源于两个FEC码字的数据,实际实现时,图16至图20中的x个第二数据流并不是FEC码字码字A和码字B直接通过符号分发得到的。
综上所述,本申请实施例提供的数据传输方法,由于发送端设备和接收端设备在进行数据传输的过程中,可以以n比特为传输的单位符号,相较于传统的以1比特为单位符号进行数据传输的方式,若传输的数据中携带有突发错误数据时,错误的单位符号较少,减少了传输过程中错误的单位符号个数。减少突发错误数据扩散,提高数据传输可靠性。
进一步地,由于发送端设备将x个第二数据流以n(n≥2)比特为粒度映射至z个第三数据流进而输出,其映射粒度相较于Bit Mux架构中的映射粒度大,因此,当第三数据流中携带有突发错误数据时,若接收端设备进行FEC符号纠错,该突发错误数据会被转换至较少的FEC符号错误,减小了出现错误的FEC符号错误数量,提高FEC码字纠错处理的成功率,提高纠错性能,保证后续数据传输的正确率。
仍然以图5所示的示例为例,在IEEE802.3应用场景下,n=10,也即是本申请提供的数据传输方法当PMA层接收的1个数据流携带长度为6比特的突发错误数据,采用本申请提供的数据传输方法,发送端设备的PMA层的输出通道和接收端设备的PMA层中传输的数据的单位符号为1个FEC符号,这些数据在接收端设备以10比特为粒度进行映射后,会将这6比特的突发错误数据映射2个FEC符号的数据中,造成2个FEC符号错误。这样,相比于将该6比特的突发错误数据以比特为粒度进行映射后造成的4个FEC符号数据错误,减少了出现错误FEC符号数据的个数。同时,由于减少了出现错误FEC符号数据的个数,使得在经过码字纠错处理时,降低了码字纠错处理失败的概率,提高了纠正突发错误数据的概率,提升了数据传输的正确率。
进一步的,当n=10时,发送端设备可以将x个第二数据流以10比特(FEC符号)为粒度映射至z个第三数据流进而输出,这样在减少包含突发错误数据的FEC符号的个数的同时,使得该数据传输方法可以兼容IEEE802.3ck的应用场景,在该应用场景中运 算复杂度较低。
进一步的,由于对x个第二数据流进行了FEC码字纠错处理,因而,提高了数据传输的正确率。同时,由于该数据传输方法对x个第二数据流进行了再编码处理,提高了数据的保护级别,进一步保障了数据传输的可靠性,同时,由于再编码的编码方式较多,使得该数据传输方法可以适配更多不同编码的应用场景,提高了该数据传输方法的通用性。
本申请实施例提供的数据传输方法可以应用于多种场景中的接收端设备和发送端设备,假设上述数据传输方法应用于新增的子层AUI XS,当该发送端设备和接收端设备的芯片可以仅包括主芯片,如图21所示,该主芯片包括PMA层和AUI XS。或者,如图22所示,发送端设备包括主芯片、CDR芯片和光模块,执行本申请实施例提供的数据传输方法,接收端设备包括传统的光模块和传统的主芯片,执行传统的数据传输方法。或者,如图23所示,发送端设备包括主芯片和光模块,该光模块集成有CDR芯片,接收端设备包括传统的光模块和传统的主芯片。其中,图22和图23所示的发送端设备的主芯片包括PMA层和AUI XS,CDR芯片包括PMA层和AUI XS,上述传统的光模块和传统的主芯片指的是接收的数据为以比特为粒度映射得到的数据。
需要说明的是,上述图22和图23所示的应用环境中,接收端设备也可以为包括主芯片、CDE芯片和光模块的设备,或者为包括主芯片和光模块(该光模块集成有CDR芯片)的设备,包括主芯片、CDE芯片和光模块,执行本申请实施例提供的数据传输方法。
值得说明的是,当该数据传输方法应用于如图22和图23所示的应用场景中,主芯片中新增的子层AUI XS可以称为数据终端设备(data terminal equipment,DTE)AUI XS,在CDR芯片中新增的子层AUI XS可以称为物理层(Physical,PHY)AUI XS。
示例的,本申请以图21所示的数据传输方法的应用场景为例对本申请实施例进行说明,假设该发送端设备和接收端设备为接收机上的不同位置的通过以太网相互连接的主芯片U1和主芯片U2,该发送端设备和接收端设备具有100GE下的100GAUI-1接口,且该数据传输方法中n=10。该数据传输方法应用于主芯片U1和主芯片U2的AUI XS,本申请实施例以该100GAUI-1接口的数据传输为例进行说明。
如图24所示,发送端设备和接收端设备均包括:依次排布的MAC层/RS、PCS、FEC、PMA、AUI XS、PMA、PMD和medium,以及位于RS层与PCS之间的100GMII接口,位于PMA层与AUI XS之间的100GAUI-1接口和位于PMD层与medium之间的MDI接口。其中,MAC层与RS在100G电通道下的层级标准为100G MAC/RS,PCS层的编码规定为100G基础-距离(100GBASE-R)编码规定,FEC层的编码规定可以参考IEEE 802.3标准的第91章IEEE(clause 91FEC)。在100GAUI-1接口的应用环境中,该发送端设备和接收端设备具有的Bit Mux架构为4:1架构,且该发送端设备和接收端设备进行传输的数据流仅包括一个FEC码字。
如图25所示,主芯片U1的AUI XS首先执行步骤601,获取经过Bit Mux处理得到的1个第一数据流(第一数据流也称为交织数据流或mux数据流),然后将该1个第一 数据流进行解复用处理得到4个第二数据流(第二数据流也称为FEC通道(FEC lanes)数据流),该步骤可以用PMA(1:4)表示。之后,为了保证后续处理中该4个第二数据流的有效性,主芯片U1的AUI XS可以执行步骤602,对该4个第二数据流执行对齐锁定、去偏移和重排序处理(该过程可以简称为对齐锁定、去偏移和通道重排序过程)。由于该4个第二数据流仅包括一个FEC码字,主芯片U1的AUI XS可以执行步骤603,将对齐锁定、去偏移和重排序处理后的4个第二数据流进行FEC码字纠错处理,得到纠错后的4个第二数据流(该过程可以简称为RS错误修正(RS error correction)过程),然后主芯片U1的AUI XS可以执行步骤604,将该纠错后的4个第二数据流进行再编码(该过程可以简称为再编码),该再编码过程可以包括对4个第二数据流进行内码FEC编码,得到编码后的4个第二数据流,也可以是对x个第二数据流进行增强FEC编码,得到编码后的4个第二数据流。之后,主芯片U1的AUI XS可以执行步骤605,将再编码后的4个第二数据流以FEC符号为粒度进行映射得到1个第三数据流(第三数据流也可以称为符号通道(symbol lanes)数据流)。其中,主芯片U1的AUI XS将再编码后的4个第二数据流以FEC符号为粒度进行映射得到1个第三数据流的过程可以包括主芯片U1的AUI XS首先执行步骤6051,将4个第二数据流的对齐字移除(该过程可以简称为对齐字移除),然后执行步骤6052,将移除对齐字的4个第二数据流以FEC符号为粒度,映射得到1个第三数据流,该步骤6052用符号分发(4:1)表示,之后分别执行步骤6053(值得说明的是,步骤6053也可以与步骤6052同步执行)和步骤6054以按照4个第二数据流与1个第三数据流的映射关系,对1个第三数据流添加对齐字(步骤6053的过程可以简称为对齐字映射,步骤6054的过程可以简称为对齐字添加)。最后,该1个第三数据流通过1个PMD输出通道输出至PMD层,最终,发射端设备将该1个第三数据流通过PMD层的1个PMD输出通道输出至主芯片U2中。
主芯片U2在接收在1个PMD输出通道传输的1个第三数据流后,如图26所示,为了保证后续处理中该4个第二数据流的有效性,主芯片U2的AUI XS可以执行步骤701,对该1个第三数据流执行对齐锁定、去偏移和重排序处理(该过程可以简称为对齐锁定、去偏移和通道重排序)。然后可以执行步骤702,将对齐锁定、去偏移和重排序处理后的1个第三数据流以FEC符号为粒度映射得到4个第二数据流,其中,主芯片U2的AUI XS将对齐锁定、去偏移和重排序处理后的1个第三数据流以FEC符号为粒度映射得到4个第二数据流的过程可以包括主芯片U1的AUI XS首先执行步骤7021,将1个第三数据流的对齐字移除(该过程可以简称为对齐字移除),然后执行步骤7022,将移除对齐字的1个第三数据流以FEC符号为粒度,映射得到4个第二数据流,该步骤7022可以用符号分发(1:4)表示,之后分别执行步骤7023(值得说明的是,步骤7023也可以与步骤7022同步执行)和步骤7024以按照1个第三数据流与4个第二数据流的映射关系,对4个第二数据流中每个第二数据流添加对齐字(步骤7023的过程可以简称为对齐字映射,步骤7024的过程可以简称为对齐字添加)。之后可以执行步骤703对该4个第二数据流进行再编码的解码处理(该过程可以简称为再编码的解码)。之后,可以执行步骤704,将解码处理后的4个第二数据流进行FEC码字纠错处理(该过程可以简称为RS错误修正),该FEC码字纠错处理主要纠正的是数据经过PMD层引起的突发错误数据,从而得到纠错后的4个第二数据流。之后可以执行步骤705,将纠错后的4个第二数据流以比特为粒 度进行复用处理,得到1个第一数据流,该过程可以用PMA(4:1)表示。至此,本申请实施例提供的数据传输方法执行完毕。
需要说明的是,上述实施例中,发送端设备的主芯片U1不需要必须将该纠错后的4个第二数据流进行再编码,相应的,接收端设备的主芯片U2不需要必须对4个第二数据流进行再编码的解码处理,则上述实施例中步骤604和步骤703为可选步骤。
综上所述,本申请实施例提供的数据传输方法,由于发送端设备将x个第二数据流以n(n≥2)比特为粒度映射至z个第三数据流进而输出,其映射粒度相较于Bit Mux架构中的映射粒度大,因此,当第三数据流中携带有突发错误数据时,若接收端设备进行FEC符号纠错,该突发错误数据会被转换至较少的FEC符号错误,减小了出现错误的FEC符号错误数量,提高FEC码字纠错处理的成功率,提高纠错性能,保证后续数据传输的正确率。
进一步的,当发送端设备和接收端设备均仅包含主芯片时,在发送端设备和接收端设备的数据传输过程中,由于该数据传输方法中发送端设备的主芯片和接收端设备的主芯片均执行了FEC码字纠错处理,该FEC码字纠错处理可以记录被纠正的突发错误数据,使得工作人员可以通过该记录的突发错误数据,判定数据传输过程的中,产生该突发错误数据(故障)的位置等信息,评定数据传输性能,实现了对C2C链路性能的监控和故障的定位。
进一步的,当n=10时,发送端设备可以将x个第二数据流以10比特(FEC符号)为粒度映射至z个第三数据流进而输出,这样在减少包含突发错误数据的FEC符号的个数的同时,使得该数据传输方法可以兼容IEEE802.3ck的应用场景,在该应用场景中运算复杂度较低。
进一步的,由于对x个第二数据流进行了FEC码字纠错处理,因而,提高了数据传输的正确率。同时,由于该数据传输方法对x个第二数据流进行了再编码处理,提高了数据的保护级别,进一步保障了数据安全,同时,由于再编码的编码方式较多,使得该数据传输方法可以适配更多不同编码的应用场景,提高了该数据传输方法的通用性。
示例的,本申请以图23所示的数据传输方法的应用场景为例,假设该发送端设备和接收端设备为不同服务器上的以以太网相互连接的设备,也为通过媒体介质相互连接的设备。该发送端设备和接收端设备具有100GE下的100GAUI-1接口,且包括通过100GAUI-1接口连接的主芯片和光模块(该光模块均集成有CDR芯片)。则该数据传输方法可以应用于发送端设备和接收端设备的主芯片DTE AUI XS,也应用于发送端设备和接收端设备的光模块的PHY AUI XS。其中,当该数据传输方法应用于100GE环境下,n=10。如图27所示,发送端设备和接收端设备的主芯片均包括:依次排布的MAC层/RS、DTE 100G XS、PMA、DTE AUI XS和PMA,以及位于RS层与PCS之间的100GMII接口和位于PMA层与PMA层之间的100GAUI-1接口;发送端设备和接收端设备的光模块均包括:依次排布的PMA、PHY AUI XS、PMA和集成有PMD功能和PHY 100G XS功能的PMD/PHY 100G XS,以及位于PMD/PHY 100G XS与medium之间的MDI接口。其中,MAC层/RS为100G电通道下的层级标为100G MAC/RS。在100GAUI-1接口的应用环境下,发送端设备和接收端设备具有的 Bit Mux架构为4:1架构,且该发送端设备和接收端设备进行传输的数据流仅包括一个FEC码字。
发送端设备的主芯片先将待传输的数据流通过MAC层/RS、DTE 100G XS、PMA、DTE AUI XS和PMA层,从100GAUI-1接口传输至光模块中,其中,主芯片将待传输的数据流进行处理的过程与上述图24所示架构下,主芯片对将待传输的数据流进行处理的过程相同,主芯片的DTE AUI XS的对待传输的数据流进行处理的过程与图25和图26所示的数据传输方法的过程相同,可以参考上述图24所示相关实施例,本申请对此不再赘述。
由于该100GAUI-1接口仅包含一个虚拟通道,因此,假设发送端设备的光模块为U3,接收端设备的光模块为U4,如图28所示,光模块U3的PHY AUI XS首先执行步骤801,由于仅接收到1个第三数据流,该1个第三数据流不存在偏移和通道乱序,因此,光模块U3的PHY AUI XS仅需对该1个第三数据流执行对齐锁定处理(该过程可以简称为对齐锁定)。然后,光模块U3的PHY AUI XS执行步骤802,将该1个第三数据流以FEC符号为粒度进行映射得到4个第二数据流的过程可以包括主芯片光模块U3的PHY AUI XS首先执行步骤8021,将1个第三数据流的对齐字移除(该过程可以简称为对齐字移除),然后执行步骤8022,将移除对齐字的1个第三数据流以FEC符号为粒度,映射得到4个第二数据流,该步骤8022可以用符号分发(1:4)表示,之后分别执行步骤8023(值得说明的是,步骤8023也可以与步骤8022同步执行)和步骤8024以按照1个第三数据流与4个第二数据流的映射关系,对4个第二数据流添加对齐字(步骤8023的过程可以简称为对齐字映射,步骤8024的过程可以简称为添加对齐字)。之后,执行步骤803,将4个第二数据流进行FEC码字纠错处理,得到纠错后的4个第二数据流(该过程可以简称为RS错误修正)。之后,可以执行步骤804,将该纠错后的4个第二数据流进行再编码(该过程可以简称为再编码)。最后,由于100AUI-1场景下,发送端设备为1个输出通道,该输出通道对应的数据格式为以比特为粒度,因此,光模块U3的PHY AUI XS最后执行步骤805,将4个第二数据流以比特为粒度映射至1个第四数据流,该步骤805可以用PMA(4:1)表示。至此,该数据传输方法执行完毕。
接收端设备的光模块U4在接收到上述1个第四数据流后,如图29所示,光模块U4的PHY AUI XS首先执行步骤901,将该1个第四数据流解映射得到4个第二数据流。然后,执行步骤902,将该4个第二数据流进行执行对齐锁定、去偏移和重排序处理(该过程可以简称为对齐锁定、去偏移和通道重排序)。之后,执行步骤903,对该4个第二数据流进行再编码的解码处理(该过程可以简称为再编码的解码),之后,执行步骤904,将解码处理后的4个第二数据流进行FEC码字纠错处理得到纠正后的4个第二数据流(该过程可以简称为RS错误修正),然后,执行步骤905,将该纠正后的4个第二数据流以FEC符号为粒度进行映射得到1个第三数据流的过程可以包括光模块U4的PHY AUI XS首先执行步骤9051,将4个第二数据流的对齐字移除(该过程可以简称为对齐字移除),然后执行步骤9052,将移除对齐字的4个第二数据流以FEC符号为粒度,映射得到1个第三数据流,该步骤9052可以用符号分发(4:1)表示,之后分别执行步骤9053(值得说明的是,步骤9053也可以与步骤9052同步执行)和步骤9054以按照4个第二数据流与1个第三数据流的映射关系,对1个第三数据流添加对齐字(步骤9053的过程可以简称为对齐字映射,步骤9054的过程可以简称为添加对齐字)。然后,将添加对齐字的1 个第三数据流输出至接收端设备的主芯片,由主芯片进行进一步处理,该处理过程可以参考上述图24所示相关实施例,本申请对此不再赘述。至此,该数据传输方法执行完毕。
需要说明的是,上述实施例中,发送端设备的光模块U3不需要必须将该纠错后的4个第二数据流进行再编码,相应的,接收端设备的光模块U4不需要对该4个第二数据流进行再编码的解码处理,则上述实施例中步骤804和步骤903为可选步骤。
综上所述,本申请实施例提供的数据传输方法,由于发送端设备将x个第二数据流以n(n≥2)比特为粒度映射至z个第三数据流进而输出,其映射粒度相较于Bit Mux架构中的映射粒度大,因此,当第三数据流中携带有突发错误数据时,若接收端设备进行FEC符号纠错,该突发错误数据会被转换至较少的FEC符号错误,减小了出现错误的FEC符号错误数量,提高FEC码字纠错处理的成功率,提高纠错性能,保证后续数据传输的正确率。
进一步的,当发送端设备和接收端设备均包括主芯片和光模块时,由于该数据传输方法中发送端设备的主芯片和光模块,以及接收端设备的主芯片和光模块均执行了FEC码字纠错处理,该FEC码字纠错处理可以记录被纠正的突发错误数据,使得工作人员可以通过该记录的突发错误数据,判定数据传输过程的中,产生该突发错误数据(故障)的位置等信息,评定数据传输性能,实现了对C2M链路性能的监控和故障的定位。
进一步的,当n=10时,发送端设备可以将x个第二数据流以10比特(FEC符号)为粒度映射至z个第三数据流进而输出,这样在减少包含突发错误数据的FEC符号的个数的同时,使得该数据传输方法可以兼容IEEE802.3ck的应用场景,在该应用场景中运算复杂度较低。
进一步的,由于对x个第二数据流进行了FEC码字纠错处理,因而,提高了数据传输的正确率。同时,由于该数据传输方法对x个第二数据流进行了再编码处理,提高了数据的保护级别,进一步保障了数据传输的可靠性,同时,由于再编码的编码方式较多,使得该数据传输方法可以适配更多不同编码的应用场景,提高了该数据传输方法的通用性。
需要说明的是,前述“/”表示或的关系。本申请实施例提供的数据传输方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内。示例的,前述步骤107、步骤209、步骤309或步骤409在实际实现时可以不执行。又或者,接收端的FEC层可以和前述接收端设备中执行FEC码字纠错处理的模块进行整合,因此本申请不再赘述。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
本申请实施例提供一种数据传输装置1,如图30所示,应用于发送端设备,该数据传输装置1包括:
解复用模块11、映射模块12和输出模块13。
解复用模块11,用于对获取到的y个第一数据流进行解复用处理,得到x个第二数据流,y个第一数据流是经过比特复用处理得到的,例如实现上述方法实施例中步骤111、步骤112、步骤121、步骤122、步骤131、步骤132、步骤141和步骤142。
映射模块12,用于将x个第二数据流以n比特为粒度,映射得到z个第三数据流,例如实现上述方法实施例中步骤113、步骤123、步骤133和步骤143。
输出模块13,用于将z个第三数据流通过输出通道输出,例如实现上述方法实施例中步骤114。其中,y,x,n和z均为正整数,且n≥2。
综上所述,本申请实施例提供的数据传输装置,由映射模块将x个第二数据流以n(n≥2)比特为粒度映射至z个第三数据流进而输出,其映射粒度相较于Bit Mux架构中的映射粒度大,因此,发送端设备和接收端设备在进行数据传输的过程中,可以以n比特为传输的单位符号,相较于传统的以1比特为单位符号进行数据传输的方式,若传输的数据中携带有突发错误数据时,错误的单位符号较少,减少了传输过程中错误的单位符号个数。减少突发错误数据扩散,提高数据传输可靠性。
可选地,输出模块13,用于:将z个第三数据流以n比特为粒度,映射得到x个第五数据流,将x个第五数据流以q比特为粒度,映射得到s个第四数据流,将s个第四数据流通过输出通道输出,例如实现上述方法实施例中步骤204、步骤205、步骤501、步骤502和步骤503。
或者,将z个第三数据流以n比特为粒度,映射得到s个第四数据流中,将s个第四数据流通过输出通道输出,例如实现上述方法实施例中步骤304和步骤305;其中,s和q为正整数,且q≥2。
可选地,输出模块13,用于:将z个第三数据流以n比特为粒度,映射得到x个第五数据流;
将x个第五数据流以比特为粒度进行复用处理,得到s个第四数据流;
将s个第四数据流通过输出通道输出,例如实现上述方法实施例中步骤404、步骤405、步骤601、步骤602和步骤603,其中,s为正整数。
可选地,x个第二数据流包括至少一个前馈纠错FEC码字的数据,如图31所示,数据传输装置1在图30所示的基础上还包括:
纠错处理模块14,用于在将x个第二数据流的数据以n比特为粒度,映射得到z个第三数据流之前,对x个第二数据流进行FEC码字纠错处理,得到纠错后的x个第二数据流。
可选地,当x个第二数据流包括多个FEC码字的数据时,如图32所示,数据传输装置1在图31所示的基础上还包括:
解映射模块15,用于在对x个第二数据流进行FEC码字纠错处理,得到纠错后的x个第二数据流之前,对x个第二数据流,进行FEC符号为粒度的解映射处理,得到以FEC码字为单位的数据。
上述图31所示的纠错处理模块14,还用于对以FEC码字为单位的数据进行FEC码字纠错处理,得到纠错后的数据,将纠错后的数据以FEC符号为粒度进行映射处理,得到 纠错后的x个第二数据流。
可选地,z=1,映射模块12,用于:轮询x个第二数据流中的每个第二数据流;
将轮询得到的每个第二数据流中连续的n比特数据,依次映射得到1个第三数据流。
可选地,z≥2,x≥2,映射模块12,用于:依次轮询所述x个第二数据流的每个第二数据流,并将轮询得到的数据映射至第三数据流,直至所述x个第二数据流的数据完全映射得到z个第三数据流,每次轮询得到所述每个第二数据流中连续的n比特数据;
对于每个第二数据流,任意相邻两次轮询得到的数据映射到不同的第三数据流中。
可选地,在轮询每x个第二数据流时,轮询顺序满足以下任一种:
先轮询偶数序列号的第二数据流,后轮询奇数序列号的第二数据流;
先轮询奇数序列号的第二数据流,后轮询偶数序列号的第二数据流;
或者,按照序列号递增或递减的顺序轮询第二数据流。
可选地,n为一个FEC符号包含的比特的数量。
可选地,输出的数据流的数量小于或等于可用的输出通道个数,或者,输出的数据流的数量等于预设输出通道个数。
可选地,如图33所示,数据传输装置1在图32所示的基础上还包括:
第一编码模块16,用于在将x个第二数据流以n比特为粒度,映射得到z个第三数据流之前,对x个第二数据流进行内码FEC编码,得到编码后的x个第二数据流。
或者,第一编码模块16用于在将x个第二数据流以n比特为粒度,映射得到z个第三数据流之前,当每个第二数据流携带有校验位时,移除x个第二数据流中每个第二数据流的校验位,将移除校验位后的x个第二数据流进行第二FEC编码,得到编码后的x个第二数据流,第二FEC编码的编码方式与移除校验位之前采用的第一FEC编码的编码方式不同。
本申请实施例提供一种数据传输装置2,如图34所示,应用于接收端设备,数据传输装置2包括:
获取模块21、映射模块22和复用模块23。
获取模块21,用于通过输入通道获取z个第三数据流,例如实现上述方法实施例中步骤105。
映射模块22,用于将z个第三数据流以n比特为粒度,映射得到x个第二数据流,z个第三数据流是以n比特为粒度映射得到的,例如实现上述方法实施例中步骤106、步骤208、步骤308和步骤408。
复用模块23,用于将x个第二数据流以比特为粒度进行复用处理,得到y个第一数据流,例如实现上述方法实施例中步骤107、步骤209、步骤309和步骤409。其中,z,n,x和y均为正整数,且n≥2。
综上所述,本申请实施例提供的数据传输装置,由获取模块获取通过输入通道获取z个第三数据流,并由映射模块将z个第三数据流以n比特为粒度,映射得到x个第二数据 流,其映射粒度相较于Bit Mux架构中的映射粒度大,因此,发送端设备和接收端设备在进行数据传输的过程中,可以以n比特为传输的单位符号,相较于传统的以1比特为单位符号进行数据传输的方式,若传输的数据中携带有突发错误数据时,错误的单位符号较少,减少了传输过程中错误的单位符号个数。减少突发错误数据扩散,提高数据传输可靠性。
可选地,获取模块21,用于:通过输入通道接收s个第四数据流,将s个第四数据流以q比特为粒度,映射得到x个第五数据流,将x个第五数据流以n比特为粒度,映射得到z个第三数据流,例如实现上述方法实施例中步骤207、步骤505和步骤506。
或者,通过输入通道接收s个第四数据流,将s个第四数据流以n比特为粒度,映射得到z个第三数据流,例如实现上述方法实施例中步骤307。其中,s和q为正整数,且q≥2。
可选地,获取模块21,用于:通过输入通道接收s个第四数据流;
将s个第四数据流以比特为粒度进行解复用处理,得到x个第五数据流;
将x个第五数据流以n比特为粒度,映射得到z个第三数据流,例如实现上述方法实施例中步骤407。其中,s为正整数。
可选地,x个第二数据流包括至少一个前馈纠错FEC码字的数据,如图35所示,数据传输装置2在图34所示的基础上还包括:
纠错处理模块24,用于在将x个第二数据流以比特为粒度进行复用处理,得到y个第一数据流之前,对x个第二数据流进行FEC码字纠错处理,得到纠错后的x个第二数据流。
可选地,当z个第三数据流包括多个FEC码字的数据时,如图36所示,数据传输装置2在图35所示的基础上还包括:
解映射模块25,用于在对x个第二数据流进行FEC码字纠错处理,得到纠错后的x个第二数据流之前,对x个第二数据流,进行FEC符号为粒度的解映射处理,得到以FEC码字为单位的数据。
上述图35所示的纠错处理模块24,还用于对以FEC码字为单位的数据进行FEC码字纠错处理,得到纠错后的数据,将纠错后的数据以FEC符号为粒度进行映射处理,得到纠错后的x个第二数据流。
可选地,z=1,映射模块22,用于:
将1个第三数据流中连续的n比特数据,依次映射得到x个第二数据流。
可选地,z≥2,x≥2,所述映射模块22,用于:
依次轮询所述z个第三数据流的每个第三数据流,并将轮询得到的数据映射至第二数据流,直至所述z个第三数据流的数据完全映射得到x个第二数据流,每次轮询得到所述每个第三数据流中连续的n比特数据:
对于每个第二数据流,任意相邻2次映射得到数据来自于不同的第三数据流。
可选地,对于每个第三数据流,在将任意相邻x次轮询得到的数据映射到不同的x个第 二数据流中时,映射顺序满足以下任一种:
先映射偶数序列号的第二数据流,后映射奇数序列号的第二数据流,
先映射奇数序列号的第二数据流,后映射偶数序列号的第二数据流,
或者,按照第二数据流的序列号递增的顺序映射。
可选地,n为一个FEC符号包含的比特的数量。
可选地,如图37所示,数据传输装置2在图36所示的基础上还包括:
第一解码模块26,用于在将x个第二数据流以比特为粒度进行复用处理,得到y个第一数据流之前,对x个第二数据流进行内码FEC解码,得到解码后的x个第二数据流,移除解码后的x个第二数据流包含的校验位,得到移除校验位后的x个第二数据流,校验位为发送端设备对x个第二数据流进行内码FEC编码时添加的。
或者,第一解码模块26用于在将x个第二数据流以比特为粒度进行复用处理,得到y个第一数据流之前,将x个第二数据流进行第二FEC解码,得到解码后的x个第二数据流,将解码后的x个第二数据流进行第一FEC编码,得到编码后的x个第二数据流,第二FEC解码对应的编码方式与第一FEC编码的编码方式不同。
本申请实施例提供一种数据传输系统,包括:发送端设备10和接收端设备20,该发送端设备10用于发送数据,接收端设备20用于接收数据。示例的,该数据传输系统可以为上述图35所示的数据传输系统。其中,根据发送端设备10和接收端设备20所包括的器件的不同,该数据传输系统具有多种结构,本申请实施例以以下几种为例进行说明。
第一种结构,如图38所示,发送端设备10和接收端设备20均包括主芯片,该主芯片与主芯片通过通信连接,该通信连接的方式可以参考上述实施例所示的通信连接方式,本申请实施例对此不再赘述。该发送端设备10和接收端设备20的主芯片可以用于分别对待传输的数据进行以n比特为粒度的处理,例如,发送端设备10的主芯片可以实现上述方法实施例中步骤101至步骤104、步骤201至步骤205、步骤301至步骤305以及步骤401至步骤405;接收端设备10的主芯片可以实现上述方法实施例中步骤105至步骤107、步骤206至步骤209、步骤306至步骤309以及步骤406至步骤409。
第二种结构,如图39所示,发送端设备10和接收端设备20均包括主芯片、CDR芯片和光模块,发送端设备10的CDR芯片通过AUI接口分别与主芯片和光模块连接,接收端设备20中的主芯片、CDR芯片和光模块与发送端设备10中的主芯片、CDR芯片和光模块连接关系相同。其中,发送端设备10中的主芯片和CDR芯片可以用于对待传输的数据进行以n比特为粒度的处理,得到处理后的待传输的数据,进而将该处理后的待传输的数据传输至光模块;光模块用于将接收到的该处理后的待传输的数据进行直接发送,或者适配其他接收端设备,该其他接收端设备指的是接收的数据格式和输入通道数与处理后的待传输的数据的数据格式和个数不同的设备,例如可以实现上述方法实施例中步骤101至步骤104、步骤201至步骤205、步骤301至步骤305、步骤401至步骤405、步骤501至步骤503以及步骤601至步骤603。接收端设备20中的光模块用于将接收数据;主芯片和CDR芯片可以用于对接收的数据进行与发送端设备相应的处理,例如可以实现 上述方法实施例中步骤105至步骤107、步骤206至步骤209、步骤306至步骤309、步骤406至步骤409以及步骤504至步骤506。
第三种结构,如图40所示,发送端设备10和接收端设备20均包括主芯片和光模块,该发送端设备10和接收端设备20中的主芯片均通过AUI接口与光模块连接,其中,发送端设备10和接收端设备20中的主芯片的作用与上述第二种结构中的作用相同,由于发送端设备10和接收端设备20中的光模块均集成有CDR芯片,则,光模块具有上述第二种结构中CDR芯片和光膜块的作用。
第四种结构,如图41所示,发送端设备10包括:主芯片、CDR芯片和光模块,接收端设备20包括主芯片和光模块,该发送端设备10中的主芯片、CDR芯片和光模块与上述第二种结构中发送端设备10中的主芯片、CDR芯片和光模块的连接方式相同,且作用对应相同。接收端设备20中的主芯片和光模块与上述第三种结构中接收端设备20中的主芯片和光模块的连接方式相同,且作用对应相同。本申请实施例对此不做赘述。
第五种结构,如图42所示,发送端设备10包括:主芯片和光模块,接收端设备20包括主芯片、CDR芯片和光模块,发送端设备10中的主芯片和光模块与上述第三种结构中发送端设备10中的主芯片和光模块的连接方式相同,且作用对应相同。接收端设备20中的主芯片、CDR芯片和光模块与上述第二种结构中接收端设备20中的主芯片、CDR芯片和光模块的连接方式相同,且作用对应相同。本申请实施例对此不做赘述。
本申请实施例提供的发送端设备和接收设备的实体结构可以参考前述图38至图42所示的系统中相应的结构,本申请实施例对此不再赘述。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。

Claims (38)

  1. 一种数据传输方法,其特征在于,应用于发送端设备,所述方法包括:
    对获取到的y个第一数据流进行解复用处理,得到x个第二数据流,所述y个第一数据流是经过比特复用处理得到的;
    将所述x个第二数据流以n比特为粒度,映射得到z个第三数据流;
    将所述z个第三数据流通过输出通道输出;
    其中,所述y、所述x、所述n和所述z均为正整数,且所述n≥2。
  2. 根据权利要求1所述的方法,其特征在于,所述将所述z个第三数据流通过输出通道输出,包括:
    将所述z个第三数据流以n比特为粒度,映射得到x个第五数据流,将所述x个第五数据流以q比特为粒度,映射得到s个第四数据流,将所述s个第四数据流通过所述输出通道输出;
    或者,将所述z个第三数据流以n比特为粒度,映射得到s个第四数据流中,将所述s个第四数据流通过所述输出通道输出;
    其中,所述s为正整数,所述q≥2。
  3. 根据权利要求1所述的方法,其特征在于,所述将z个第三数据流通过输出通道输出,包括:
    将所述z个第三数据流以n比特为粒度,映射得到x个第五数据流;
    将所述x个第五数据流以比特为粒度进行复用处理,得到s个第四数据流;
    将所述s个第四数据流通过所述输出通道输出,其中,所述s为正整数。
  4. 根据权利要求1至3任一所述的方法,其特征在于,所述x个第二数据流包括至少一个前馈纠错FEC码字的数据,在所述将所述x个第二数据流的数据以n比特为粒度,映射得到z个第三数据流之前,所述方法还包括:
    对所述x个第二数据流进行FEC码字纠错处理,得到纠错后的x个第二数据流。
  5. 根据权利要求4所述的方法,其特征在于,当所述x个第二数据流包括多个FEC码字的数据时,在所述对所述x个第二数据流进行FEC码字纠错处理,得到纠错后的x个第二数据流之前,所述方法还包括:
    对所述x个第二数据流,进行FEC符号为粒度的解映射处理,得到以FEC码字为单位的数据;
    所述对所述x个第二数据流进行FEC码字纠错处理,得到纠错后的x个第二数据流,包括:
    对所述以FEC码字为单位的数据进行FEC码字纠错处理,得到纠错后的数据;
    将所述纠错后的数据以所述FEC符号为粒度进行映射处理,得到纠错后的x个第二数据 流。
  6. 根据权利要求1至5任一所述的方法,其特征在于,z=1,
    所述将所述x个第二数据流以n比特为粒度,映射得到z个第三数据流,包括:
    轮询所述x个第二数据流中的每个第二数据流;
    将轮询得到的所述每个第二数据流中连续的n比特数据,依次映射得到1个第三数据流。
  7. 根据权利要求1至5任一所述的方法,其特征在于,z≥2,x≥2,
    所述将所述x个第二数据流以n比特为粒度,映射得到z个第三数据流,包括:
    依次轮询所述x个第二数据流的每个第二数据流,并将轮询得到的数据映射至第三数据流,直至所述x个第二数据流的数据完全映射得到z个第三数据流,每次轮询得到所述每个第二数据流中连续的n比特数据;
    对于每个第二数据流,任意相邻两次轮询得到的数据映射到不同的第三数据流中。
  8. 根据权利要求1至7任一所述的方法,其特征在于,所述n为一个FEC符号包含的比特的数量。
  9. 根据权利要求1至8任一所述的方法,其特征在于,输出的数据流的数量小于或等于可用的输出通道个数,或者,输出的数据流的数量等于预设输出通道个数。
  10. 根据权利要求1至9任一所述的方法,其特征在于,在所述将所述x个第二数据流以n比特为粒度,映射得到z个第三数据流中之前,所述方法还包括:
    对所述x个第二数据流进行内码FEC编码,得到编码后的x个第二数据流;
    或者,当每个第二数据流携带有校验位时,移除所述x个第二数据流中每个数据的校验位,
    将移除校验位后的x个第二数据流进行第二FEC编码,得到编码后的x个第二数据流,所述第二FEC编码的编码方式与移除所述校验位之前采用的第一FEC编码的编码方式不同。
  11. 一种数据传输方法,其特征在于,应用于接收端设备,所述方法包括:
    通过输入通道获取z个第三数据流;
    将所述z个第三数据流以n比特为粒度,映射得到x个第二数据流,所述z个第三数据流是以n比特为粒度映射得到的;
    将所述x个第二数据流以比特为粒度进行复用处理,得到y个第一数据流;
    其中,所述z,所述n,所述x和所述y均为正整数,且所述n≥2。
  12. 根据权利要求11所述的方法,其特征在于,所述通过输入通道获取z个第三数据流,包括:
    通过所述输入通道接收s个第四数据流,将所述s个第四数据流以q比特为粒度,映射得到x个第五数据流,将所述x个第五数据流以n比特为粒度,映射得到所述z个第三数据 流;
    或者,通过所述输入通道接收s个第四数据流,将所述s个第四数据流以n比特为粒度,映射得到所述z个第三数据流;
    其中,所述s为正整数,且所述q≥2。
  13. 根据权利要求11所述的方法,其特征在于,所述通过输入通道获取z个第三数据流,包括:
    通过所述输入通道接收s个第四数据流;
    将所述s个第四数据流以比特为粒度进行解复用处理,得到x个第五数据流;
    将所述x个第五数据流以n比特为粒度,映射得到所述z个第三数据流,其中,所述s为正整数。
  14. 根据权利要求11至13任一所述的方法,其特征在于,所述x个第二数据流包括至少一个前馈纠错FEC码字的数据,在所述将所述x个第二数据流以比特为粒度进行复用处理,得到y个第一数据流之前,所述方法还包括:
    对所述x个第二数据流进行FEC码字纠错处理,得到纠错后的x个第二数据流。
  15. 根据权利要求14所述的方法,其特征在于,当所述z个第三数据流包括多个FEC码字的数据时,在所述对所述x个第二数据流进行FEC码字纠错处理,得到纠错后的x个第二数据流之前,所述方法还包括:
    对所述x个第二数据流,进行FEC符号为粒度的解映射处理,以FEC码字为单位的数据;
    所述对所述x个第二数据流进行FEC码字纠错处理,得到纠错后的x个第二数据流,包括:
    对所述以FEC码字为单位的数据进行FEC码字纠错处理,得到纠错后的数据;
    将所述纠错后的数据以所述FEC符号为粒度进行映射处理,得到纠错后的x个第二数据流。
  16. 根据权利要求11至15任一所述的方法,其特征在于,z=1,
    所述将z个第三数据流以n比特为粒度,映射得到x个第二数据流,包括:
    将1个第三数据流中连续的n比特数据,依次映射得到x个第二数据流。
  17. 根据权利要求11至15任一所述的方法,其特征在于,z≥2,x≥2,
    所述将所述z个第三数据流以n比特为粒度,映射得到x个第二数据流,包括:
    依次轮询所述z个第三数据流的每个第三数据流,并将轮询得到的数据映射至第二数据流,直至所述z个第三数据流的数据完全映射得到x个第二数据流,每次轮询得到所述每个第三数据流中连续的n比特数据;
    对于每个第二数据流,任意相邻2次映射得到数据来自于不同的第三数据流。
  18. 根据权利要求11至17任一所述的方法,其特征在于,所述n为一个FEC符号包含 的比特的数量。
  19. 根据权利要求11至18任一所述的方法,其特征在于,在所述将所述x个第二数据流以比特为粒度进行复用处理,得到y个第一数据流之前,所述方法还包括:
    对所述x个第二数据流进行内码FEC解码,得到解码后的x个第二数据流,移除所述解码处理后的x个第二数据流包含的校验位,得到移除校验位后的x个第二数据流,所述校验位为发送端设备对所述x个第二数据流进行内码FEC编码时添加的;
    或者,将所述x个第二数据流进行第二FEC解码,得到解码后的x个第二数据流,将所述解码后的x个第二数据流进行第一FEC编码,得到编码后的x个第二数据流,所述第二FEC解码对应的编码方式与所述第一FEC编码的编码方式不同。
  20. 一种数据传输装置,其特征在于,应用于发送端设备,所述装置包括:
    解复用模块,用于对获取到的y个第一数据流进行解复用处理,得到x个第二数据流,所述y个第一数据流是经过比特复用处理得到的;
    映射模块,用于将所述x个第二数据流以n比特为粒度,映射得到z个第三数据流;
    输出模块,用于将所述z个第三数据流通过输出通道输出;
    其中,所述y,所述x,所述n和所述z均为正整数,且所述n≥2。
  21. 根据权利要求20所述的装置,其特征在于,所述输出模块,用于:
    将所述z个第三数据流以n比特为粒度,映射得到x个第五数据流,将所述x个第五数据流以q比特为粒度,映射得到s个第四数据流,将所述s个第四数据流通过所述输出通道输出;
    或者,将所述z个第三数据流以n比特为粒度,映射得到s个第四数据流中,将所述s个第四数据流通过所述输出通道输出;
    其中,所述q和所述s均为正整数,且所述q≥2。
  22. 根据权利要求20所述的装置,其特征在于,所述输出模块,用于:
    将所述z个第三数据流以n比特为粒度,映射得到x个第五数据流;
    将所述x个第五数据流以比特为粒度进行复用处理,得到s个第四数据流;
    将所述s个第四数据流通过所述输出通道输出,其中,所述s为正整数。
  23. 根据权利要求20至22任一所述的装置,其特征在于,所述x个第二数据流包括至少一个前馈纠错FEC码字的数据,所述装置还包括:
    纠错处理模块,用于在所述将所述x个第二数据流的数据以n比特为粒度,映射得到z个第三数据流之前,对所述x个第二数据流进行FEC码字纠错处理,得到纠错后的x个第二数据流。
  24. 根据权利要求23所述的装置,其特征在于,当所述x个第二数据流包括多个FEC码字的数据时,所述装置还包括:
    解映射模块,用于在所述对所述x个第二数据流进行FEC码字纠错处理,得到纠错后的x个第二数据流之前,对所述x个第二数据流,进行FEC符号为粒度的解映射处理,得到以FEC码字为单位的数据;
    所述纠错处理模块,用于对所述以FEC码字为单位的数据进行FEC码字纠错处理,得到纠错后的数据,将所述纠错后的数据以所述FEC符号为粒度进行映射处理,得到纠错后的x个第二数据流。
  25. 根据权利要求20至24任一所述的装置,其特征在于,z=1,
    所述映射模块,用于轮询所述x个第二数据流中的每个第二数据流;
    将轮询得到的所述每个第二数据流中连续的n比特数据,依次映射得到1个第三数据流。
  26. 根据权利要求20至24任一所述的装置,其特征在于,z≥2,x≥2,
    所述映射模块,用于依次轮询所述x个第二数据流的每个第二数据流,并将轮询得到的数据映射至第三数据流,直至所述x个第二数据流的数据完全映射得到z个第三数据流,每次轮询得到所述每个第二数据流中连续的n比特数据;
    对于每个第二数据流,任意相邻两次轮询得到的数据映射到不同的第三数据流中。
  27. 根据权利要求20至26任一所述的装置,其特征在于,所述n为一个FEC符号包含的比特的数量。
  28. 根据权利要求20至27任一所述的装置,其特征在于,输出的数据流的数量小于或等于可用的输出通道个数,或者,输出的数据流的数量等于预设输出通道个数。
  29. 根据权利要求20至28任一所述的装置,其特征在于,所述装置还包括:
    第一编码模块,用于在所述将所述x个第二数据流以n比特为粒度,映射得到z个第三数据流之前,对所述x个第二数据流进行内码FEC编码,得到编码后的x个第二数据流;
    或者,用于在所述将所述x个第二数据流以n比特为粒度,映射得到z个第三数据流之前,当每个第二数据流携带有校验位时,移除所述x个第二数据流中每个第二数据流的校验位,将移除校验位后的x个第二数据流进行第二FEC编码,得到编码后的x个第二数据流,所述第二FEC编码的编码方式与移除所述校验位之前采用的第一FEC编码的编码方式不同。
  30. 一种数据传输装置,其特征在于,应用于接收端设备,所述装置包括:
    获取模块,用于通过输入通道获取z个第三数据流;
    映射模块,用于将所述z个第三数据流以n比特为粒度,映射得到x个第二数据流,所述z个第三数据流是以n比特为粒度映射得到的;
    复用模块,用于将所述x个第二数据流以比特为粒度进行复用处理,得到y个第一数据流;
    其中,所述z,所述n,所述x和所述y均为正整数,且所述n≥2。
  31. 根据权利要求30所述的装置,其特征在于,所述获取模块,用于:
    通过所述输入通道接收s个第四数据流,将所述s个第四数据流以q比特为粒度,映射得到x个第五数据流,将所述x个第五数据流以n比特为粒度,映射得到所述z个第三数据流;
    或者,通过所述输入通道接收s个第四数据流,将所述s个第四数据流以n比特为粒度,映射得到所述z个第三数据流;
    其中,所述s和所述q为正整数,且所述q≥2。
  32. 根据权利要求30所述的装置,其特征在于,所述获取模块,用于:
    通过所述输入通道接收s个第四数据流;
    将所述s个第四数据流以比特为粒度进行解复用处理,得到x个第五数据流;
    将所述x个第五数据流以n比特为粒度,映射得到所述z个第三数据流;
    其中,所述s为正整数。
  33. 根据权利要求30至32任一所述的装置,其特征在于,所述x个第二数据流包括至少一个前馈纠错FEC码字的数据,所述装置还包括:
    纠错处理模块,用于在所述将所述x个第二数据流以比特为粒度进行复用处理,得到y个第一数据流之前,对所述x个第二数据流进行FEC码字纠错处理,得到纠错后的x个第二数据流。
  34. 根据权利要求33所述的装置,其特征在于,当所述z个第三数据流包括多个FEC码字的数据时,所述装置还包括:
    解映射模块,用于在所述对所述x个第二数据流进行FEC码字纠错处理,得到纠错后的x个第二数据流之前,对所述x个第二数据流,进行FEC符号为粒度的解映射处理,得到以FEC码字为单位的数据;
    所述纠错处理模块,用于对所述以FEC码字为单位的数据进行FEC码字纠错处理,得到纠错后的数据,将所述纠错后的数据以FEC符号为粒度进行映射处理,得到纠错后的x个第二数据流。
  35. 根据权利要求30至34任一所述的装置,其特征在于,z=1,
    所述映射模块,用于将1个第三数据流中连续的n比特数据,依次映射得到x个第二数据流。
  36. 根据权利要求30至34任一所述的装置,其特征在于,z≥2,x≥2,
    所述映射模块,用于:
    依次轮询所述z个第三数据流的每个第三数据流,并将轮询得到的数据映射至第二数据流,直至所述z个第三数据流的数据完全映射得到x个第二数据流,每次轮询得到所述每个第三数据流中连续的n比特数据:
    对于每个第二数据流,任意相邻2次映射得到数据来自于不同的第三数据流。
  37. 根据权利要求30至36任一所述的装置,其特征在于,所述n为一个FEC符号包含的比特的数量。
  38. 根据权利要求30至37任一所述的装置,其特征在于,所述装置还包括:
    第一解码模块,用于在所述将所述x个第二数据流以比特为粒度进行复用处理,得到y个第一数据流之前,对所述x个第二数据流进行内码FEC解码,得到解码后的x个第二数据流,移除所述解码后的x个第二数据流包含的校验位,得到移除校验位后的x个第二数据流,所述校验位为发送端设备对所述x个第二数据流进行内码FEC编码时添加的;
    或者,用于在所述将所述x个第二数据流以比特为粒度进行复用处理,得到y个第一数据流之前,将所述x个第二数据流进行第二FEC解码,得到解码后的x个第二数据流,将所述解码后的x个第二数据流进行第一FEC编码,得到编码后的x个第二数据流,所述第二FEC解码对应的编码方式与所述第一FEC编码的编码方式不同。
PCT/CN2020/076806 2019-03-06 2020-02-26 数据传输方法、装置及系统 WO2020177596A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP20767391.4A EP3930221A4 (en) 2019-03-06 2020-02-26 METHOD, APPARATUS, AND DATA TRANSMISSION SYSTEM
US17/466,903 US11936475B2 (en) 2019-03-06 2021-09-03 Method, apparatus, and system for improving reliability of data transmission involving an ethernet device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910169228.6A CN111669250B (zh) 2019-03-06 2019-03-06 数据传输方法、装置及系统
CN201910169228.6 2019-03-06

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/466,903 Continuation US11936475B2 (en) 2019-03-06 2021-09-03 Method, apparatus, and system for improving reliability of data transmission involving an ethernet device

Publications (1)

Publication Number Publication Date
WO2020177596A1 true WO2020177596A1 (zh) 2020-09-10

Family

ID=72337017

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/076806 WO2020177596A1 (zh) 2019-03-06 2020-02-26 数据传输方法、装置及系统

Country Status (4)

Country Link
US (1) US11936475B2 (zh)
EP (1) EP3930221A4 (zh)
CN (1) CN111669250B (zh)
WO (1) WO2020177596A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114257334A (zh) * 2020-09-24 2022-03-29 华为技术有限公司 一种数据编码方法、数据解码方法及通信装置
CN113315572B (zh) * 2021-03-30 2023-11-14 阿里巴巴新加坡控股有限公司 光模块物理链路的检测方法及装置、光模块、光传输系统
CN115842602A (zh) * 2021-09-18 2023-03-24 华为技术有限公司 一种编码方法、译码方法以及相关装置
WO2024059847A1 (en) * 2022-09-16 2024-03-21 Cisco Technology, Inc. Symbol multiplexing physical medium attachment (pma)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003087984A2 (en) * 2002-04-08 2003-10-23 Celion Networks, Inc. Apparatus and method for transmitting 10 gigabit ethernet lan signals over a transport system
US7725029B1 (en) * 2003-08-28 2010-05-25 Eric Bernier Technique for asymmetric transport
EP2469887A1 (en) * 2010-12-21 2012-06-27 Alcatel Lucent Network node for an optical transport network
CN103354983A (zh) * 2012-11-12 2013-10-16 华为技术有限公司 以太数据处理的方法和装置
WO2015089741A1 (zh) * 2013-12-17 2015-06-25 华为技术有限公司 接收数据的方法及设备,以及发送数据的方法及设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6671849B2 (en) * 2002-05-14 2003-12-30 Motorola, Inc. Reliability-based type-II hybrid ARQ scheme
US9337948B2 (en) * 2003-06-10 2016-05-10 Alexander I. Soto System and method for performing high-speed communications over fiber optical networks
US7729384B1 (en) * 2005-11-01 2010-06-01 Metanoia Technologies, Inc. Multiple channel digital subscriber line framer/deframer system and method
CN101902303A (zh) * 2009-05-27 2010-12-01 中国科学院微电子研究所 一种实现交织与解交织复用的装置及方法
CN104426631B (zh) * 2013-09-06 2018-03-06 华为技术有限公司 对数据进行处理的方法及装置
CN104468441A (zh) * 2013-09-13 2015-03-25 福建联拓科技有限公司 数字对讲机的信号编码调制/解调译码方法及装置
US20200072889A1 (en) * 2018-09-05 2020-03-05 Nxp B.V. Physical layer device and method for performing physical layer operations in a communications network
US10979209B1 (en) * 2018-10-08 2021-04-13 Acacia Communications, Inc. System, method, and apparatus for mapping synchronous and asynchronous data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003087984A2 (en) * 2002-04-08 2003-10-23 Celion Networks, Inc. Apparatus and method for transmitting 10 gigabit ethernet lan signals over a transport system
US7725029B1 (en) * 2003-08-28 2010-05-25 Eric Bernier Technique for asymmetric transport
EP2469887A1 (en) * 2010-12-21 2012-06-27 Alcatel Lucent Network node for an optical transport network
CN103354983A (zh) * 2012-11-12 2013-10-16 华为技术有限公司 以太数据处理的方法和装置
WO2015089741A1 (zh) * 2013-12-17 2015-06-25 华为技术有限公司 接收数据的方法及设备,以及发送数据的方法及设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3930221A4

Also Published As

Publication number Publication date
CN111669250A (zh) 2020-09-15
US20210399831A1 (en) 2021-12-23
EP3930221A1 (en) 2021-12-29
US11936475B2 (en) 2024-03-19
EP3930221A4 (en) 2022-03-30
CN111669250B (zh) 2021-06-04

Similar Documents

Publication Publication Date Title
WO2020177596A1 (zh) 数据传输方法、装置及系统
US10425177B2 (en) Flexible ethernet switching systems and methods
US10382167B2 (en) Flexible ethernet enhanced forward error correction
KR100970734B1 (ko) 단축된 마지막 코드워드를 이용한 무선 고 선명 비디오데이터 처리 시스템 및 방법
KR101115440B1 (ko) Fec 코드 이더넷 프레임을 구분하는 방법 및 장치
US7296211B2 (en) System and method for transferring data on a data link
US9954644B2 (en) Ethernet data processing method, physical layer chip and Ethernet equipment
US11277217B2 (en) Flexible Ethernet switching systems and methods
US20150046775A1 (en) Encoding and Decoding Schemes to Achieve Standard Compliant Mean Time to False Packet Acceptance
WO2008145056A1 (en) Method and device for information block coding and sync detecting
WO2015027755A1 (zh) 一种物理层编解码方法及其装置
WO2022088709A1 (zh) 一种以太网的编码方法及装置
US20120257887A1 (en) Method and device for indicating an uncorrectable data block
CN102868482B (zh) 多级编码调制方法及装置
WO2022062946A1 (zh) 一种数据编码方法、数据解码方法及通信装置
WO2021017890A1 (zh) 一种通信方法和通信设备
US9013982B2 (en) M-pair mode protection switching
US11196511B2 (en) Data processing method and related apparatus
WO2024087758A1 (zh) 一种数据处理方法和数据处理装置
WO2024055954A1 (zh) 一种数据处理方法以及数据处理装置
WO2023246477A1 (zh) 一种数据处理方法及数据处理装置
WO2023169194A1 (zh) 一种数据处理方法及第二通信装置
WO2023029880A1 (zh) 一种数据交织方法及数据交织装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20767391

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020767391

Country of ref document: EP

Effective date: 20210922