CN113287266B - Data transmission method, network chip and communication system - Google Patents
Data transmission method, network chip and communication system Download PDFInfo
- Publication number
- CN113287266B CN113287266B CN201880100557.9A CN201880100557A CN113287266B CN 113287266 B CN113287266 B CN 113287266B CN 201880100557 A CN201880100557 A CN 201880100557A CN 113287266 B CN113287266 B CN 113287266B
- Authority
- CN
- China
- Prior art keywords
- data
- transmission
- time slot
- code stream
- interface
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/02—Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
- H04B7/04—Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas
- H04B7/06—Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas at the transmitting station
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Time-Division Multiplex Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
The embodiment of the application provides a network chip, a data transmission method and a communication system. The network chip comprises a time slot scheduler, a channel encoder and a data distributor, wherein the time slot scheduler is used for determining transmission time slots corresponding to transmission data from two service interfaces, the channel encoder is used for respectively encoding the two transmission data in the two time slots so as to respectively obtain two code stream data, and the data distributor is used for respectively distributing the code stream data to corresponding receiving ends. The network chip flexibly accesses a plurality of different or same service interfaces and shares one encoder, so that the hardware resources of the network chip can be saved.
Description
Technical Field
The present disclosure relates to the field of communications, and in particular, to a method for transmitting data, a network chip, and a communication system.
Background
Forward error correction (forward error correction, FEC) coding is a technique for controlling transmission errors in a communication system by adding additional information to the transmitted data for error recovery to reduce the bit error rate. With the continuous increase of serial data rate, the effect of signal-to-noise ratio on high-speed signal is continuously increasing, which is close to 56 gbit/s per channel, so that the FEC technology is required to correct the transmitted data to reduce the error rate.
In the prior art, an encoder corresponds to a service interface, and the encoder encodes the received data of the service interface. The manner of implementing FEC coding by using ethernet is exemplified by that after receiving the data transmitted from the ethernet interface, the data is scrambled, reassembled, inserted with a preset identifier, etc., and then input into an encoder to output code stream data, where the code stream data is sent to a corresponding receiving end through physical medium access (physical media Access, PMA) of ethernet.
In the above scheme, the service interfaces are in one-to-one correspondence with the encoders. If there are multiple service interfaces, encoders corresponding to the multiple service interfaces are needed, and resource waste is easy to occur. For example, a reed-solomon forward error correction code (Reed Solomon forward error correction, RS-FEC) encoder can only support a single ethernet port, i.e., the RS-FEC encoder can only process data transmitted by one service interface, and if there are multiple service interfaces, multiple RS-FEC encoders corresponding to each other one to one are needed, which is prone to waste of resources.
Disclosure of Invention
The embodiment of the application provides a data transmission method, a network chip and a communication system, which are used for realizing flexible access to a plurality of different or same service interfaces, and can share one RS-FEC encoder, so that the utilization rate of RS-FEC encoding resources is improved, and the network resources are saved.
In view of this, a first aspect of the present application provides a method of data transmission, comprising:
acquiring first transmission data and second transmission data, wherein the first transmission data and the second transmission data are any two groups of transmission data in a plurality of groups of transmission data corresponding to a plurality of service interfaces; channel coding is carried out on the first transmission data in a first transmission time slot through a channel coder to obtain first code stream data, and the second transmission data is coded in a second transmission time slot through the channel coder to obtain second code stream data, wherein the first transmission time slot and the second transmission time slot are different time slots; and then transmitting the first code stream data to a receiving end corresponding to the first code stream data, and transmitting the second code stream data to a receiving end corresponding to the second code stream data.
In the embodiment of the application, a plurality of service interfaces can be accessed, and a plurality of groups of transmission data corresponding to the service interfaces are acquired, wherein each group of transmission data has a corresponding transmission time slot. Thus, each set of transmission data may be encoded in the corresponding transmission time slot of each set of transmission data using the same channel encoder. For example, the first transmission data is encoded in a first transmission slot, and the first transmission data may be any one of the plurality of sets of transmission data, and the second transmission data is encoded in a second transmission slot, and the second transmission data is any one of the plurality of sets of transmission data except the first transmission data. And, the first transmission time slot is different from the second transmission time slot. Therefore, even if a plurality of sets of transmission data corresponding to a plurality of service interfaces are acquired, each set of transmission data can be encoded in a corresponding transmission slot using the same channel encoder. The method can realize that a plurality of service interfaces share one encoder, realize the high-efficiency utilization of the encoder and save network resources.
In an optional embodiment of the present application, transmitting the first code stream data to a receiving end corresponding to the first code stream data, and transmitting the second code stream data to a receiving end corresponding to the second code stream data may include:
in the first transmission time slot, the first code stream data is distributed to a corresponding physical media adaptation sublayer (PMA) according to a preset distribution rule, in the second transmission time slot, the second code stream data is distributed to the PMA, the first code stream data is transmitted to a receiving end corresponding to the first code stream data through the PMA, and the second code stream data is transmitted to a receiving end corresponding to the second code stream data. In the embodiment of the present application, the first code stream data and the second code stream data may be sent to the corresponding receiving end through the PMA layer, so as to complete sending the code stream data. The receiving end can receive the corresponding code stream data.
In an optional embodiment of the present application, any one of the plurality of service interfaces is an ethernet service interface or a flexible ethernet FlexE interface, and the acquiring the first transmission data includes:
receiving initial code stream data transmitted by any one interface of at least one interface of the Ethernet service interface or the FlexE interface; determining a processing time slot of the initial code stream data; encoding the initial code stream data in the processing time slot to obtain encoded data; and scrambling the coded data in the processing time slot to obtain the first transmission data. In the embodiment of the application, one or more ethernet service interfaces or one or more flexible ethernet (Flexible Ethernet, flexE) interfaces can be accessed, and the data sent from the one or more ethernet service interfaces or the one or more FlexE interfaces can be processed to determine the processing time slot, so that the access of the ethernet service interfaces or FlexE interfaces is realized in a time division multiplexing manner, and the ethernet service interfaces or FlexE interfaces can share the same channel encoder for encoding. The utilization rate of the channel encoder is improved, and network resources are saved.
In an optional embodiment of the present application, the plurality of service interfaces includes at least one high-speed interconnect (Interlaken) interface, and the acquiring the first transmission data may include:
receiving input data transmitted by any one of the at least one Interlaken interface; scrambling the input data to obtain scrambled data; adding identification data into the scrambling code data to obtain data with preset length; and grouping the data with the preset length to obtain the first transmission data. In this embodiment of the present application, when one or more Interlaken interfaces are accessed, scrambling and transcoding may be performed on data sent by each Interlaken interface, so as to obtain transmission data that may be processed by a channel encoder. Thus, access to the Interlaken interface may be achieved such that one or more interlakens may be encoded using a channel encoder. The utilization rate of the channel encoder is improved, and network resources are saved.
In an optional embodiment of the present application, the plurality of service interfaces includes at least one flexible optical transport network (Flexible optical transport network, flexO) interface, and the acquiring the first transmission data may include:
And receiving the first transmission data sent by any one of the at least one FlexO interface. In the embodiment of the present application, when one or more FlexO interfaces are accessed, data transmitted by the FlexO interfaces may be directly encoded. Thus, one or more FlexO interfaces may be allowed to share the same channel encoder for encoding. The utilization rate of the channel encoder is improved, and network resources are saved.
In an optional embodiment of the present application, before performing channel coding on the first transmission data in a first transmission time slot by using a channel encoder to obtain first code stream data, and performing coding on the second transmission data in a second transmission time slot by using the channel encoder to obtain second code stream data, the method may further include:
and determining the first transmission time slot corresponding to the first transmission data and the second transmission time slot corresponding to the second transmission data according to a preset rule. In this embodiment of the present application, before channel coding is performed on each group of transmission data to obtain code stream data, a transmission time slot corresponding to each group of erasure and mixed transmission data may be determined according to a preset rule. So that each group of transmission data can be channel coded in the corresponding time slot later, the time division multiplexing of the channel coder is realized, and a plurality of service interfaces can share the same channel coder.
In an alternative embodiment of the present application, the determining the first transmission time slot of the first transmission data and the second transmission time slot of the second transmission data according to a preset rule may include:
distributing a transmission time slot for each service interface in the plurality of service interfaces according to a preset mode so as to obtain a corresponding transmission time slot of each service interface; determining a first service interface corresponding to the first transmission data and a second service interface corresponding to the second transmission data; and determining the first transmission time slot from the transmission time slots corresponding to each service interface according to the first service interface, and determining the second transmission time slot from the transmission time slots corresponding to each service interface according to the second service interface. In the embodiment of the application, a transmission time slot can be allocated in advance for each accessed service interface. After the transmission data corresponding to each service interface is acquired, the transmission time slot of each acquired group of transmission data can be determined according to the transmission time slot allocated to each accessed service interface in advance. The efficiency of determining the transmission time slots of each set of transmission data can be improved.
In an optional embodiment of the present application, the determining the first transmission time slot of the first transmission data and the second transmission time slot of the second transmission data according to a preset rule may further include:
And distributing the transmission time slot for each acquired group of transmission data according to a preset distribution mode. Including assigning a first transmission time slot to the first transmission data after the first transmission data is acquired. After the second transmission data is acquired, a second transmission time slot is allocated for the second transmission data. In the embodiment of the present application, a transmission time slot may be allocated to each group of transmission data after the transmission data is acquired. The transmission time slots are allocated to the acquired transmission data in real time, and the transmission time slots corresponding to each group of transmission data are flexibly determined, so that the transmission time slots can be allocated according to the working state of the channel encoder, and the utilization rate of the channel encoder is further improved.
In an alternative embodiment of the present application, the RS-FEC encoding the first transmission data by the first transmission time slot to obtain first code stream data may include:
code block interleaving grouping is carried out on the first transmission data in the first transmission time slot so as to obtain first preprocessing data; inserting an alignment mark into the first preprocessing data in the first transmission time slot to obtain second preprocessing data; and carrying out channel coding on the second preprocessed data through the channel coder to obtain the first code stream data. In the embodiment of the application, when channel coding is performed to obtain the first code stream data, code block interleaving grouping and insertion of alignment identification can be performed on the first transmission data, so that the channel coder can perform channel coding on the obtained second preprocessed data, and the coding format of the channel coder is met.
In an alternative embodiment of the present application, the channel encoder is an RS-FEC encoder. In the embodiment of the present application, the channel encoder may be an RS-FEC encoder, so that multiple service interfaces may share the same RS-FEC encoder. The utilization rate of the RS-FEC encoder is improved, and network resources are saved.
A method for data transmission according to a second aspect of the present application includes:
acquiring first code stream data, wherein the first code stream data is any one group of code stream data in the acquired multiple groups of code stream data, the second code stream data is any one group of code stream data different from the first code stream in the acquired multiple groups of code stream data, and the multiple groups of code stream data correspond to multiple service interfaces; the first code stream data is decoded in a first transmission time slot by a decoder to obtain first transmission data, and the second code stream data is decoded in a second transmission time slot by the decoder to obtain second transmission data, wherein the first transmission time slot is different from the second transmission time slot.
In the embodiment of the application, after multiple groups of code stream data corresponding to multiple service interfaces are acquired, the same decoder is used for decoding each group of code stream data in a transmission time slot corresponding to each group of code stream data to obtain corresponding transmission data. Thus, it is possible to realize that a plurality of service interfaces share the same decoder. For example, after the first code stream data and the second code stream data, a first transmission time slot of the first code stream data is determined, and after the first transmission time slot decodes the first code stream data, the first code stream data is sent to the corresponding first service interface. And determining a second transmission time slot of the second code stream data, decoding the second code stream data in the second transmission time slot, and then transmitting the second code stream data to a corresponding second service interface. Therefore, the embodiment of the application can accept a plurality of groups of code stream data corresponding to a plurality of service interfaces, and each group of code stream data can correspond to different transmission time slots. The same decoder may be used to decode each set of transmission data in the corresponding transmission time slot to obtain transmission data. Thus, multiple identical or different traffic interfaces may share the same decoder. The utilization rate of decoding resources can be improved, and network resources can be saved.
In an optional embodiment of the present application, if the type of the first service interface is any one of an ethernet service interface and a FlexE interface, after the decoding, by the decoder, of the first code stream data in the first transmission time slot to obtain the first transmission data, the method may further include:
determining a processing time slot of the first transmission data; descrambling the first transmission data in the processing time slot to obtain descrambled data; and transcoding the descrambled data in the processing time slot to obtain third code stream data corresponding to the first service interface, and transmitting the third code stream data to the first service interface. In this embodiment of the present application, the service interface to be accessed may include any one of an ethernet service interface and a FlexE interface, and for a data format corresponding to the ethernet service interface or the FlexE interface, the first transmission data may be descrambled, transcoded, and so on in a corresponding processing time slot, to obtain third code stream data corresponding to the ethernet service interface or the FlexE interface. The accessed Ethernet service interface or FlexE interface can acquire the corresponding code stream data, and one or more Ethernet service interfaces or FlexE interfaces are accessed in a time division multiplexing mode. The multiple Ethernet service interfaces or FlexE interfaces can share the same channel encoder, so that the utilization rate of the channel encoder is improved, and the coding resources are saved.
In an optional embodiment of the present application, if the first service interface is an Interlaken interface, after the decoding, by the decoder, of the first code stream data in the first transmission time slot to obtain the first transmission data, the method may further include:
decoding the first transmission data to obtain data with preset length; deleting the identification data in the data with the preset length to obtain scrambling code data; and descrambling the scrambled data to obtain service data corresponding to the Interlaken interface, and transmitting the service data to the first service interface. In the embodiment of the application, the Interlaken interface can be accessed, and the transmission data corresponding to the Interlaken interface is processed, so that the obtained service data can be transmitted to the corresponding Interlaken interface. The access of one or more Interlaken interfaces is realized, so that the plurality of Interlaken interfaces can use the same decoder, the Interlaken interfaces and other interfaces can share the same decoder, the utilization rate of the decoder is improved, and decoding resources are saved.
In an optional embodiment of the present application, if the first service interface is a FlexO interface, after the decoding, by the decoder, of the first code stream data in the first transmission slot to obtain first transmission data, the method may further include:
And sending the first transmission data to the first service interface. In the embodiment of the present application, the FlexO interface may be accessed, and after the first transmission data is obtained, the first transmission data may be directly sent to the first service interface. Access to one or more FlexO interfaces may be achieved, with multiple FlexO interfaces sharing the same decoder, or with FlexO interfaces sharing the same decoder as other interfaces. The utilization rate of the decoder is improved, and decoding resources are saved.
In an optional embodiment of the present application, before the decoding, by the decoder, the first code stream data in the first transmission time slot to obtain the first transmission data, and the decoding, by the decoder, the second code stream data in the second transmission time slot to obtain the second transmission data, the method may further include:
and determining the first transmission time slot corresponding to the first transmission data and the second transmission time slot corresponding to the second transmission data according to a preset rule. In this embodiment of the present application, before decoding each set of code stream data, a transmission time slot of each set of code stream data needs to be determined, so that a decoder may decode each set of code stream data in a transmission time slot corresponding to each set of code stream data. And each group of code stream data can correspond to a plurality of service interfaces, so that decoding of the code stream data corresponding to the plurality of service interfaces can be realized in a time division multiplexing mode. So that multiple traffic interfaces can share the same decoder. The utilization rate of the decoder is improved, and decoding resources are saved.
In an optional embodiment of the present application, the determining, according to a preset rule, the first transmission time slot corresponding to the first code stream data and the second transmission time slot corresponding to the second code stream data may include:
distributing a transmission time slot for each service interface in the plurality of service interfaces according to a preset mode so as to obtain a corresponding transmission time slot of each service interface; determining that the first code stream data corresponds to a first service interface of the plurality of service interfaces, and the second code stream data corresponds to a second service interface of the plurality of service interfaces; and determining the first transmission time slot from the transmission time slots corresponding to each service interface according to the first service interface, and determining the second transmission time slot from the transmission time slots corresponding to each service interface according to the second service interface. In the embodiment of the application, a transmission time slot can be allocated in advance for each accessed service interface. After the code stream data corresponding to each service interface is obtained, the transmission time slot of each obtained group of code stream data can be determined according to the transmission time slot allocated to each accessed service interface in advance. The efficiency of determining the transmission time slots of each set of transmission data can be improved.
In an optional embodiment of the present application, the determining, according to a preset rule, the first transmission time slot corresponding to the first transmission data and the second transmission time slot corresponding to the second transmission data may further include:
and distributing transmission time slots for each group of acquired code stream data according to a preset distribution mode. Including allocating a first transmission time slot for the first code stream data after the first code stream data is acquired. After the second code stream data is acquired, a second transmission time slot is allocated for the second code stream data. In the embodiment of the present application, a transmission time slot may be allocated to each group of code stream data after the code stream data is acquired. And allocating transmission time slots for the acquired code stream data in real time, and flexibly determining the transmission time slots corresponding to each group of code stream data, so that the transmission time slots can be allocated according to the working state of the decoder, and the utilization rate of the decoder is further improved.
In an optional embodiment of the present application, the decoding, by a decoder, the first code stream data in a first transmission time slot to obtain the first transmission data may include:
acquiring an alignment identifier in the first code stream data in the first transmission time slot; aligning the first code stream data according to the alignment mark in the first transmission time slot to obtain alignment data; and decoding the aligned data in the first transmission time slot to obtain the first transmission data. In the embodiment of the application, before decoding, each group of code stream data may be aligned according to the alignment identifier. And correcting each group of received code stream data to avoid the conditions of dislocation, loss and the like of the code stream data. After the alignment data are obtained, the decoder is used for decoding the alignment data, so that the accuracy of the obtained code stream data is improved.
In an alternative embodiment of the present application, the decoder is an RS-FEC decoder. In the embodiment of the present application, the channel encoder may be an RS-FEC encoder, so that multiple service interfaces may share the same RS-FEC encoder. The utilization rate of the RS-FEC decoder is improved, and decoding resources are saved.
A third aspect of the present application provides a network chip, comprising: a channel encoder, a slot scheduler, and a data distributor;
the time slot scheduler is used for determining a first transmission time slot of first transmission data and a second transmission time slot of second transmission data, wherein the first transmission data and the second transmission data are any two groups of transmission data in a plurality of groups of transmission data corresponding to a plurality of service interfaces;
the channel encoder is used for carrying out channel encoding on the first transmission data in a first transmission time slot to obtain first code stream data, and carrying out encoding on the second transmission data in a second transmission time slot through the channel encoder to obtain second code stream data;
the data distributor is configured to distribute the first code stream data to a receiving end corresponding to the first code stream data, and distribute the second code stream to a receiving end corresponding to the second code stream.
In an alternative embodiment of the present application, the data distributor is specifically configured to distribute, in the first transmission time slot, the first code stream data to a corresponding physical media adaptation sublayer PMA according to a preset distribution rule, and distribute, in the second transmission time slot, the second code stream data to the PMA, so as to transmit, by the PMA, the first code stream data to a receiving end corresponding to the first code stream data, and transmit, by the PMA, the second code stream data to a receiving end corresponding to the second code stream data.
In an alternative embodiment of the present application, the network chip may further include: at least one interface of the type Ethernet or flexible Ethernet FlexE, a first transcoder and a first scrambler;
the at least one interface is any one of an Ethernet or flexible Ethernet FlexE interface and is used for receiving initial code stream data;
the time slot scheduler is further used for determining a processing time slot of the initial code stream data;
the first transcoder is configured to transcode the initial code stream data in the processing time slot to obtain transcoded data;
the first scrambler is configured to scramble the transcoded data in the processing time slot to obtain the first transmission data.
In an alternative embodiment of the present application, the network chip may further include: at least one Interlaken interface. A second transcoder, a second scrambler, and a third transcoder;
any one of the at least one Interlaken interfaces is used for receiving input data;
the second scrambler is used for scrambling the input data to obtain scrambled data;
the second transcoder is used for adding identification data into the scrambling data to obtain data with preset length;
the third transcoder is configured to group the data with the preset length to obtain the first transmission data.
In an alternative embodiment of the present application, the network chip may further include: at least one FlexO interface.
Any of the at least one FlexO interface may be adapted to receive the first transmission data.
In an alternative embodiment of the present application,
the time slot scheduler is specifically configured to determine the first transmission time slot corresponding to the first transmission data and the second transmission time slot corresponding to the second transmission data according to a preset rule.
In an alternative embodiment of the present application, the time slot scheduler is specifically configured to:
Distributing a transmission time slot for each service interface in the plurality of service interfaces according to a preset mode so as to obtain a corresponding transmission time slot of each service interface;
determining a first service interface corresponding to the first transmission data and a second service interface corresponding to the second transmission data;
and determining the first transmission time slot from the transmission time slots corresponding to each service interface according to the first service interface, and determining the second transmission time slot from the transmission time slots corresponding to each service interface according to the second service interface.
In an alternative embodiment of the present application, the channel encoder may be specifically configured to:
code block interleaving grouping is carried out on the first transmission data in the first transmission time slot so as to obtain first preprocessing data; inserting an alignment mark into the first preprocessing data in the first transmission time slot to obtain second preprocessing data; and performing channel coding on the second preprocessed data in the first transmission time slot to obtain the first code stream data.
In an alternative embodiment of the present application, the channel encoder is a reed-solomon forward error correction code RS-FEC encoder.
A fourth aspect of the present application provides a network chip, comprising: a decoder and a slot scheduler;
The time slot scheduler is used for determining a first transmission time slot corresponding to first code stream data and a second transmission time slot corresponding to second code stream data, wherein the first code stream data and the second code stream data are any two groups of code stream data in a plurality of groups of code stream data corresponding to a plurality of service interfaces;
the decoder is configured to decode the first code stream data in a first transmission time slot to obtain first transmission data, and decode the second code stream data in a second transmission time slot by the decoder to obtain second transmission data, where the first transmission time slot is different from the second transmission time slot.
In an alternative embodiment of the present application, the network chip may further include: at least one interface of the type Ethernet or flexible Ethernet FlexE, a first descrambler, a first transcoder and a first distributor;
the time slot scheduler is further configured to determine a processing time slot of the first transmission data after the decoder decodes the first code stream data in the first transmission time slot to obtain the first transmission data;
the first descrambler is configured to descramble the first transmission data in the processing time slot to obtain descrambled data;
the first transcoder is configured to transcode the descrambled data in the processing time slot to obtain third code stream data;
The first distributor is configured to distribute the third code stream data to any one of at least one interface of the type ethernet or flexible ethernet FlexE.
In an alternative embodiment of the present application, the network chip may further include: at least one Interlaken interface, a second descrambler, a second transcoder and a third transcoder;
the second transcoder is configured to transcode the first transmission data after the decoder decodes the first code stream data in a first transmission time slot to obtain the first transmission data, so as to obtain data with a preset length;
the third transcoder is configured to delete the identification data in the data with the preset length to obtain scrambled data;
the second descrambler is configured to descramble the scrambled data to obtain service data corresponding to the Interlaken interface;
any one of the at least one Interlaken interfaces is used for transmitting the service data.
It should be noted that the network chip may include at least one second transcoder and at least one second scrambler, and each of the third transcoders and the second scramblers may correspond to one Interlaken interface.
In an alternative embodiment of the present application, the network chip may further include: at least one FlexO interface, and a second dispenser;
The second distributor is configured to send the first transmission data to any one of the at least one FlexO interface after the decoder decodes the first code stream data in the first transmission time slot to obtain the first transmission data.
In an alternative embodiment of the present application,
the time slot scheduler is specifically configured to determine the first transmission time slot corresponding to the first transmission data and the second transmission time slot corresponding to the second transmission data according to a preset rule.
In an alternative embodiment of the present application, the time slot scheduler is specifically configured to:
distributing a transmission time slot for each service interface in the plurality of service interfaces according to a preset mode to obtain a corresponding first transmission time slot of each service interface; determining that the first code stream data corresponds to a first service interface of the plurality of service interfaces and the second code stream data corresponds to a second service interface of the plurality of service interfaces; and determining the first transmission time slot from the transmission time slots corresponding to each service interface according to the first service interface, and determining the second transmission time slot from the transmission time slots corresponding to each service interface according to the second service interface.
In an alternative embodiment of the present application, the network chip may further include: a synchronizer;
the synchronizer is used for acquiring an alignment identifier in the first code stream data in the first transmission time slot;
the synchronizer is further configured to align the first code stream data according to the alignment identifier in the first transmission time slot to obtain aligned data;
the decoder is specifically configured to decode the aligned data in the first transmission time slot to obtain the first transmission data.
In an alternative embodiment of the present application, the decoder is an RS-FEC decoder.
A fifth aspect of the present application provides a communication system, which may include a first network chip and a second network chip, where the first network chip may be a network chip provided in any embodiment of the third aspect or the third aspect of the present application, and the second network chip may be a network chip provided in any embodiment of the fourth aspect or the fourth aspect of the present application.
In the technical scheme provided by the embodiment of the application, the network chip can be connected into a plurality of service interfaces, and multiple groups of transmission data corresponding to the service interfaces are acquired, wherein each group of transmission data has a corresponding transmission time slot. Thus, each set of transmission data may be encoded in the corresponding transmission time slot of each set of transmission data using the same channel encoder. For example, the first transmission data is encoded in a first transmission slot, and the first transmission data may be any one of the plurality of sets of transmission data, and the second transmission data is encoded in a second transmission slot, and the second transmission data is any one of the plurality of sets of transmission data except the first transmission data. And, the first transmission time slot is different from the second transmission time slot. Therefore, even if a plurality of sets of transmission data corresponding to a plurality of service interfaces are acquired, each set of transmission data can be encoded in a corresponding transmission slot using the same channel encoder. The method can realize that a plurality of service interfaces share one encoder, realize the high-efficiency utilization of the encoder and save network resources.
Drawings
Fig. 1 is a schematic diagram of a network architecture in an embodiment of the present application;
fig. 2 is a schematic flow chart of a method for data transmission according to an embodiment of the present application;
fig. 3 is another flow chart of a method for data transmission according to an embodiment of the present application;
fig. 4 is a schematic coding and decoding flow chart of a method for data transmission according to an embodiment of the present application;
fig. 5 is a schematic diagram of a 66B to 257B coding manner of a method for data transmission according to an embodiment of the present application;
fig. 6 is a schematic diagram of another 66B to 257B coding method of the data transmission method according to the embodiment of the present application;
fig. 7 is a schematic diagram of another 66B to 257B coding method of the data transmission method according to the embodiment of the present application;
fig. 8 is a schematic diagram of another 66B to 257B coding method of the data transmission method according to the embodiment of the present application;
fig. 9 is a schematic diagram of a scrambling mode of a method for data transmission according to an embodiment of the present application;
fig. 10 is a schematic structural diagram of a network chip according to an embodiment of the present application;
fig. 11 is a schematic diagram of another structure of a network chip according to an embodiment of the present application.
Detailed Description
The application provides a data transmission method, a network chip and a communication system, which are used for realizing flexible access to a plurality of different or same service interfaces, and can share one RS-FEC encoder, so that the utilization rate of RS-FEC encoding resources is improved, and the network resources are saved.
The following description of the technical solutions in the embodiments of the present application will be made with reference to the drawings in the embodiments of the present application, and it is apparent that the described embodiments are only some embodiments of the present application, but not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments herein without making any inventive effort, are intended to be within the scope of the present application.
The terms "first," "second," "third," "fourth" and the like in the description and in the claims and drawings, if any, are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments described herein may be implemented in other sequences than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
The data transmission method provided by the application can be applied to networks such as high-speed flexible Ethernet (Flexible Ethernet, flexE), high-speed interconnection (Interlaken), high-speed transmission interface flexible optical transport network (Flexible optical transport network, flexO) and the like. Further, the present invention can be applied to other communication systems including ethernet, flexE, flexO, and an inter-related service interface or protocol, and the like, for example, a bearer network in a fifth Generation mobile communication technology (5 th-Generation, 5G). For example, flexE may be applied to a network division six in a 5G network.
Specifically, taking an ethernet architecture as an example for illustration, please refer to fig. 1, which shows a network architecture of a data transmission method provided in the present application.
In general, a communication system may be layered with reference to a seven layer model (Open System Interconnection, OSI) and may include an application layer, a presentation layer, a session layer, a transport layer, a network layer, a data link layer, and a physical layer, where an architecture applied in embodiments of the present application may include all or part of the physical layer. May include: physical coding sublayer (Physical Coding Sublayer, PCS), physical medium adaptation sublayer (Physical Medium Attachment, PMA), physical medium dependent sublayer (Physical Medium Dependent, PMD).
The PCS sub-layer may access service interfaces such as ethernet, flexE, flexO, and Interlaken, where in fig. 1 only the ethernet interface, flexE interface, flexO interface, and Interlaken interface are illustrated as examples, and the PCS sub-layer may also receive data sent by service interfaces of other network services, which is not limited in this embodiment.
The PCS sub-layer and the PMA sub-layer may be connected by an adaptation unit interface (Attachment Unit Interface, AUI), which may be a physical interface.
The PCS sub-layer carries out transcoding, scheduling, preprocessing or RS-FEC encoding and other processing on the received data sent by each service interface and distributes the data to the PMA sub-layer.
And the PMA sublayer performs serial-parallel conversion on the received PCS data and transmits the data to be transmitted to the PMD sublayer through a preset transmission channel.
The PMD sublayer modulates the received PMA data, and then transmits the data to a corresponding receiving end through a medium, which may be an optical fiber, a transmission line, or the like.
The method for transmitting data provided by the embodiment of the application is applied to the PCS sublayer, and specifically can comprise data transmission and receiving processing. The PCS sub-layer can receive data sent by a plurality of service interfaces, the service interfaces can comprise service interfaces of the same or different service types, different time slots can be allocated for the data transmitted by each service interface, and the data transmitted by each service interface is processed in the different time slots, so that the encoder is shared by the service interfaces, the utilization rate of the encoder is improved, and the cost is reduced.
First, a description will be given of a data transmission flow provided in the embodiment of the present application. The flow chart of the data transmission method provided in the embodiment of the present application may be as shown in fig. 2, and may include:
201. and acquiring a plurality of groups of transmission data corresponding to the service interfaces.
Firstly, multiple groups of transmission data corresponding to a plurality of service ports are acquired. Wherein the plurality of the groups is two or more than two. And the plurality of service interfaces can be service interfaces with the same service type or service interfaces with different service types. The plurality of service interfaces are service interfaces accessing the PCS sub-layer. The plurality of sets of data are transmission data corresponding to the plurality of service interfaces, wherein one service interface can correspond to one or more sets of transmission data.
In this embodiment of the present application, the number of transmission data may be greater than the number of service interfaces, or may be less than the number of service interfaces. For example, M groups of transmission data corresponding to N service interfaces may be received, where N > =2, N may be greater than or equal to M, N may also be less than M, and specifically may be adjusted according to an actual application scenario.
In particular, the plurality of service interfaces may comprise service interfaces of different service types, e.g. the plurality of service interfaces may comprise one or more interfaces of different service types, which may be ethernet interfaces, flexE interfaces, flexO interfaces or Interlaken interfaces, etc. In addition, the process of acquiring the corresponding transmission data is different according to the different service types of the service interfaces, and the transmission data may be directly received from the service interfaces, or the transmission data may be obtained after further processing the data sent by the service interfaces, and more specific steps will be further described in the following embodiments, which are not repeated here.
And, a set of transmission data may also be received. When the received data is a group, the group of transmission data may be data corresponding to any one of an ethernet interface, a FlexE interface, a FlexO interface, or an Interlaken interface.
Therefore, in the embodiment of the application, multiple service interfaces of the same or different service types can be accessed, and data of the multiple service interfaces can be acquired so as to carry out subsequent coding processing, so that the multiple service interfaces share the encoder, and the utilization rate of the encoder is improved.
202. The first transmission data is encoded in a first transmission time slot by a channel encoder to obtain first code stream data, and the second transmission data is encoded in a second transmission time slot to obtain second code stream data.
After receiving multiple sets of transmission data corresponding to multiple service interfaces, a transmission time slot corresponding to each set of transmission data can be determined. And in the time slot corresponding to each group of transmission data, encoding each group of transmission data through the same channel encoder to obtain code stream data corresponding to each group of data. Taking the first transmission data and the second transmission data as examples, determining a first transmission time slot of the first transmission data and a second transmission time slot of the second transmission data, wherein the first transmission data is any one group of transmission data in the multiple groups of transmission data, the second transmission data is any one group of transmission data different from the first transmission data in the multiple groups of data, the first transmission time slot is a time slot corresponding to the first transmission data, and the second transmission time slot is a time slot corresponding to the second transmission data. And, the first transmission time slot is different from the second transmission time slot. The first transmission data is input into a channel encoder in a first transmission time slot to output first code stream data, and the second transmission data can be subjected to channel encoding through the same channel encoder in a second transmission time slot to output second code stream data.
Each group of acquired transmission data can be encoded in the corresponding transmission data to obtain the corresponding code stream data. For example, if i sets of transmission data are acquired, i is an integer greater than or equal to 2, after a transmission time slot corresponding to each set of transmission data in the i sets of transmission data is acquired, encoding each set of transmission data in the transmission time slot corresponding to each set of transmission data, so as to obtain code stream data corresponding to each set of transmission data.
Alternatively, the first transmission data may be encoded by RS-FEC, i.e., the channel encoder may be an RS-FEC encoder. For example, the first transmission data may be input to an RS-FEC encoder to perform RS-FEC encoding, to obtain first code stream data after RS-FEC encoding. In addition to RS-FEC coding, the channel coding scheme may also include a common FEC coding scheme, or a coding scheme to be used in the next generation network, and so on.
For example, in a specific RS-FEC encoding process, the first transmission data is calculated according to a preset generator polynomial, a check polynomial of the first transmission data is calculated, and then the first transmission data and the check polynomial are combined to obtain the first code stream data.
In this embodiment, the transmission time slot corresponding to each group of transmission data may be preset, or may be allocated in real time after the transmission data is acquired. Specifically, if the transmission time slot is preset, before the multiple sets of transmission data are acquired, a corresponding time slot may be allocated to each accessed service interface, and may be stored in a database. And, more specifically, the time slots allocated for each accessed service interface may also be allocated according to a fixed period, for example, one period may include N time slots, and then the N time slots are respectively allocated to the accessed service interfaces, N > =1. After the transmission data corresponding to the service interface is obtained, the transmission time slot of the transmission data can be searched from the database according to the service interface. If the transmission time slots are allocated in real time, after the multiple groups of transmission data are acquired, the time slots can be allocated according to the service type of the service interface, the time slots can be allocated according to the acquisition sequence, the time slots can be allocated according to the priority of the transmission data, and the like, and the time slots can be specifically adjusted according to the actual application scene.
Alternatively, after each set of transmission data is acquired, other processing may be performed on each set of data, for example, grouping the transmission data, inserting preset identification data, and the like, and then encoding.
203. In the first transmission time slot, the first code stream data is distributed to the corresponding PMA according to a preset distribution rule, and in the second transmission time slot, the second code stream data is distributed to the corresponding PMA according to the preset distribution rule.
After RS-FEC coding is completed on each group of transmission data, the first code stream data is distributed to PMA according to a preset distribution rule and the second code stream data is distributed to PMA according to a preset rule after the code stream data corresponding to each group of transmission data is obtained, the PMA determines a transmission channel of the code stream data and sends the code stream data to a PMD sublayer, the PMD determines the transmission channel, the first code stream data is transmitted to a receiving end corresponding to the first code stream data, and the second code stream data is transmitted to a receiving end corresponding to the second code stream data.
The preset distribution rule may be that a transmission channel corresponding to a service interface corresponding to the first transmission data is determined, and the first code stream data is distributed to the corresponding transmission channel for transmission. And determining a transmission channel corresponding to the service interface corresponding to the second transmission data, and distributing the second code stream data to the corresponding transmission channel for transmission.
It should be noted that, the first transmission data and the second transmission data in the embodiments of the present application are merely exemplary, and multiple sets of transmission data may be actually received, and a corresponding transmission time slot is determined for each set of transmission data. And the same channel encoder is used for channel encoding the transmission data corresponding to each group of transmission data, so that a plurality of service interfaces can share one encoder.
In this embodiment of the present application, the PCS sublayer may access multiple service interfaces, where the multiple service interfaces may be service interfaces with the same service type, or service interfaces with different service types. And acquiring transmission data corresponding to the plurality of service interfaces, wherein the transmission data comprises data sent by the service interfaces or data processed by the data sent by the received service interfaces. And determining transmission time slots of the transmission data corresponding to the plurality of service interfaces, and encoding, distributing and the like the transmission data according to the transmission time slots to finish the processing of the transmission data corresponding to the plurality of service interfaces. Therefore, the data transmission method provided by the embodiment of the application can perform RS-FEC encoding on the transmission data of a plurality of service interfaces by using one RS-FEC encoder in a time slot allocation mode, so as to realize the efficient utilization of RS-FEC resources.
The foregoing description of the transmission flow of the data transmission method provided in the present application, and the following detailed description of the receiving flow of the data transmission method provided in the present application refer to fig. 3, and another flow diagram of the data transmission method provided in the embodiment of the present application may include:
301. and acquiring a plurality of groups of code stream data.
Firstly, a plurality of groups of code stream data are acquired, wherein the plurality of groups of code stream data can correspond to a plurality of service interfaces, and when the plurality of code stream data correspond to the plurality of service interfaces, the service types of the plurality of service interfaces can be the same or different.
The multiple sets of code stream data may be data received directly from the PMA sublayer, or may be data obtained by processing the data received from the PMA sublayer, for example, before the multiple sets of code stream data are obtained, the steps of demodulating the received data, compensating for skew, and the like may be further included to obtain the multiple sets of code stream data, which is not described herein one by one.
302. And decoding the first code stream data in the first transmission time slot by a decoder to obtain first transmission data, and decoding the second code stream data in the second transmission time slot to obtain second transmission data.
After the multiple groups of code stream data are acquired, a transmission time slot corresponding to each group of code stream data can be determined. And after determining the transmission time slot of each group of code stream data, the same encoder is used for encoding each group of code stream data in the corresponding transmission time slot of each group of code stream data.
Taking the first code stream data and the second code stream data as examples, a first transmission time slot corresponding to the first code stream data and a second transmission time slot corresponding to the second code stream data can be determined. The first code stream data is any one group of code stream data in the plurality of groups of code stream data, and the second code stream data is any one group of code stream data except the first code stream data in the plurality of groups of code stream data. The first transmission time slot is a transmission time slot corresponding to the first code stream data, and the second transmission time slot is a transmission time slot corresponding to the second code stream data. The embodiment of the application only uses the first code stream data and the second code stream data in the plurality of groups of code stream data for exemplary explanation.
After determining a first transmission time slot corresponding to the first code stream data, decoding the first code stream data in the first transmission time slot by using a decoder to obtain the first transmission time slot. After determining a second transmission time slot corresponding to the second code stream data, decoding the second code stream data in the second transmission time slot by using the same decoder to obtain the second transmission data.
Specifically, the transmitting end side encodes the data before transmitting the data, so after receiving the first code stream data, the first code stream data can be decoded to complete error correction of the first code stream data, and first decoded data is obtained.
Alternatively, the specific decoding manner may be decoding performed for channel coding, for example, if the network chip performs RS-FEC coding, in this embodiment, RS-FEC decoding may be performed on the first code stream data.
In an alternative embodiment of the present application, before decoding the first code stream data, if the first code stream data is divided into a plurality of data packets and transmitted in parallel by a plurality of transmission channels, the acquired first code stream data may be misplaced due to different time delays of each two transmission channels. Therefore, correction can also be made to the plurality of data packets. Specifically, each data packet may include an Alignment Marker (AM) inserted therein, and the plurality of data packets may be reassembled according to the alignment Marker, so that a data error of the reassembled first code stream data may be avoided.
In an optional embodiment of the present application, the transmission time slot of each group of code stream data may be allocated in real time after each group of code stream data is received, the transmission time slot may be allocated to each group of code stream data, and each group of code stream data is processed in the transmission time slot corresponding to each group of code stream data, so that it may be avoided that multiple groups of code stream data are processed simultaneously, which causes excessive load or data error of a network chip. Specifically, the transmission time slots may be allocated to each group of code stream data according to the receiving sequence, or may be allocated according to the priority of the code stream data, or may be adjusted according to the actual application scenario, which is not limited herein.
In an alternative embodiment of the present application, the transmission time slot of each group of code stream data may be allocated to each service interface in a preset manner before each group of code stream data is received. For example, one period may be equally divided into a plurality of time slots, the time slots corresponding to each service interface are the same in size, the time slots may be allocated according to the data amount of each service interface, the service interfaces with large data amounts may be allocated with larger time slots, and so on. For another example, if the network chip is connected to N service interfaces, N > =1, the N service interfaces may be interfaces of the same service type, or may be interfaces of different service types, or may include a plurality of interfaces of the same service type and a plurality of interfaces of different service types. Before receiving the code stream data corresponding to each service interface, a preset transmission time slot is allocated to each service interface, after receiving the code stream data, the service interface corresponding to the code stream data can be judged first, and then the transmission time slot of the code stream data is queried according to the corresponding service interface.
303. And transmitting the first transmission data to the corresponding first service interface, and transmitting the second transmission data to the corresponding second service interface.
After decoding each group of code stream data in the corresponding time slot respectively to obtain the corresponding transmission data, each group of transmission data can be transmitted to the corresponding service interface respectively. Taking the second transmission data and the second transmission data as examples, after the first code stream data is decoded to obtain the first transmission data, the first transmission data is distributed to the corresponding first service interface. And after the second code stream data are decoded by using the same decoder to obtain second transmission data, distributing the second transmission data to a corresponding second service interface.
It should be noted that, in the embodiment of the present application, after each set of transmission data is obtained, each set of transmission data may be transmitted according to a service type of the service interface. The data may be directly sent to the corresponding service interface, or may be further decoded, descrambled, etc. for each group of transmission data and then sent to the corresponding service interface. For example, if the service interface corresponding to the first transmission data is a FlexE interface or an ethernet interface, the obtained first transmission data is further descrambled and decoded, and then sent to the FlexE interface or the ethernet interface. If the service interface corresponding to the first transmission data is a FlexO interface, the first transmission data is directly sent to the FlexO interface. If the service interface is an Interlaken interface, the first transmission data is decoded and descrambled and then sent to the Interlaken interface.
It should also be noted that step 303 in the embodiment of the present application is an optional step.
In the embodiment of the application, after multiple groups of code stream data corresponding to multiple service interfaces are acquired, the same decoder is used for decoding each group of code stream data in a transmission time slot corresponding to each group of code stream data to obtain corresponding transmission data. Thus, it is possible to realize that a plurality of service interfaces share the same decoder. For example, after the first code stream data and the second code stream data, a first transmission time slot of the first code stream data is determined, and after the first transmission time slot decodes the first code stream data, the first code stream data is sent to the corresponding first service interface. And determining a second transmission time slot of the second code stream data, decoding the second code stream data in the second transmission time slot, and then transmitting the second code stream data to a corresponding second service interface. Therefore, the embodiment of the application can accept a plurality of groups of code stream data corresponding to a plurality of service interfaces, and each group of code stream data can correspond to different transmission time slots. The same decoder may be used to decode each set of transmission data in the corresponding transmission time slot to obtain transmission data. Thus, multiple identical or different traffic interfaces may share the same decoder. The utilization rate of decoding resources can be improved, and network resources can be saved.
Further, the following describes the transmission and reception procedures of the data transmission method according to the embodiment of the present application in more detail. Referring to fig. 4, another embodiment of a data transmission method provided in the embodiments of the present application is shown, which may include a sending process and a receiving process. The transmission procedure may be understood as an encoding procedure, the reception procedure may be understood as a decoding procedure, and the following will take the manner of RS-FEC encoding and decoding as an example in combination with the encoding procedure and the decoding procedure for further detailed description.
The service interfaces in the embodiments of the present application may include multiple interfaces of different types, and the following examples include 4 interfaces: an ethernet interface, a FlexE interface, a FlexO interface, and an Interlaken interface are exemplary described. Illustratively, there may be one or more interfaces for each traffic type, for example, there may be one or more Interlaken interfaces, only 2 of which are illustrated in fig. 4.
First, a procedure for transmitting data by the PCS sub-layer will be described. Wherein, the PCS sublayer may receive data sent by a plurality of service interfaces, and the plurality of service interfaces may include: an ethernet interface, a FlexE interface, a FlexO interface or an Interlaken interface, etc. In general, the received data transmitted by the FlexO interface may be directly used as transmission data to perform time division multiplexing (Time Division Multiplexing, TDM) scheduling, and the data transmitted by the ethernet interface, the FlexE interface, and the Interlaken interface need to be processed to obtain corresponding transmission data, and then TDM scheduling is performed.
The service interface may include one or more ethernet interfaces or FlexE interfaces, and when initial code stream data transmitted by the ethernet interfaces or FlexE interfaces is received, the initial code stream data, that is, the data of the ethernet interfaces or the data of the FlexE interfaces may be data in 66B units, and TDM scheduling may be performed on the received data of the ethernet interfaces and the data of the FlexE interfaces (i.e., step 4011), to determine a processing time slot corresponding to each service interface. The processing time slot corresponding to each service interface may be preset, that is, allocated to each service interface in advance, or may be allocated in real time after receiving the data sent by each service interface. When the processing time slot corresponding to each service interface is preset, the time slot corresponding to each service interface can be queried in the database when the data corresponding to each service interface is received, so that the data corresponding to each service interface can be processed in the corresponding processing time slot later. If the processing time slot corresponding to each service interface is allocated in real time, the acquired data corresponding to each service interface can be allocated in real time according to the service type, the acquisition sequence, the priority and the like, so as to obtain the processing time slot of the data corresponding to each service interface. Therefore, after receiving the data of the ethernet interface or the data of the FlexE interface, the embodiment of the present application may determine a processing time slot corresponding to each service interface, perform TDM scheduling, perform time-sharing processing on the data transmitted by each service interface, and implement processing of the data corresponding to one or more ethernet interfaces or FlexE interfaces, so that the data corresponding to one or more ethernet interfaces or FlexE interfaces may share RS-FEC encoding resources, thereby improving the utilization rate of the RS-FEC encoding resources.
After the TDM scheduling of 66B data is performed, after the processing time slot corresponding to each service interface is determined, corresponding 66B to 257B transcoding is performed in each processing time slot (i.e. step 4012), that is, the 66B data is transcoded in the corresponding processing time slot, so as to obtain 256B data. Specifically, the data transmitted by the service interface that is typically received is a data stream, i.e., may include a plurality of 66B data. The processing of the data may include processing a plurality of 66B data to obtain 257B data, wherein the data stream including 257B data may be obtained by processing a plurality of 66B data to combine, because the data received is typically a data stream of 66B data.
Generally, 66B data may include data 66B and control 66B, with bit 0 of data 66B being 0, bit 1 being 1, bit 0 of control 66B being 1, bit 1 being 0.
Illustratively, the rules for transcoding 66B data into 257B data may be varied, and may specifically include:
1. when the 66B data in the data stream are all data 66B, bit 0 and bit 1 of each data are deleted, the deleted 64B data are composed into 256-bit data, and bit of value 1 is added at the head of the 256-bit data. For example, as shown in fig. 5, 4 data 66B are included: tx_code_0, tx_code_1, tx_code_2, and tx_code_3. The first 2 bits of the 4 data 66B may be deleted and then the 256B data may be composed, and bit 1 may be added to the 256 data header to obtain 257B data, i.e., tx_xcoded.
2. When the 1 st 66B data is control 66B and the next 3 data is data 66B, bits 0 and 1 of control 66B and data 66B may be deleted, and bits 6 to 9 of control 66B may be deleted, to form 252B data, then 0111 is added to the 252B data header to represent control 66B followed by 3 data 66B, to form 256B data, then 0 is added to the 256B data header to obtain 257B data, and 0 represents 257B data with control data. For example, as shown in fig. 6, 1 data 66B and 2 controls 66B are included: tx_code_0, tx_code_1, tx_code_2, and tx_code_3. Deleting bits 0 and 1 of the control 66B and the data 66B, deleting bits 6 to 9 of the control 66B to form 252B data, adding 0111 to the 252B data header to represent that the control 66B comprises 3 data 66B, combining 256B data, and adding 0 to the 256B data header to obtain 257B data, namely tx_xcoded.
3. When the first 3 data are data 66B and the last 1 is control 66B, bits 0 and 1 of the data 66B and the control 66B can be deleted, bits 6 to 9 of the control 66B are deleted, the first 4 bits 1111 represents 3 data 66B followed by 1 control 66B, 1 256 bits of data are assembled, and then the first 0 bits 257B is controlled. For example, as shown in fig. 7, 3 data 66B and 1 control 66B are included: tx_code_0, tx_code_1, tx_code_2, and tx_code_3. Bits 0 and 1 of the data 66B and the control 66B are deleted, the control 66B deletes bits 6 to 9, and adding 4 bits 1111 in front represents 3 data 66B followed by 1 control 66B, and spells 1 256-bit data. Bit 0 is then added at the forefront to get 257B of data, i.e., tx_xcoded.
4. When all 4 data are controls 66B, deleting all controls 66B deletes bits 0 and 1, 1 st control 66B deletes bits 6 to 9, adding 4 bits 1112 to the front represents 4 controls 66B, combining into 1 256 bits data, and then adding 0 to the front represents 257B with controls. For example, as shown in fig. 8, 4 controls 66B are included: tx_code_0, tx_code_1, tx_code_2, and tx_code_3. Deleting all controls 66B deletes bits 0 and 1, 1 st control 66B deletes bits 6 to 9, and adding 4 bits 1112 at the front represents 4 controls 66B, combined into 1 256-bit data. Bit 0 is then added at the forefront to get 257B of data, i.e., tx_xcoded.
After 66B to 257B transcoding (i.e., step 4012), the resulting 257B data is scrambled (i.e., step 4013). Scrambling generally performs random processing on 257B data, and reduces the occurrence of continuous 0 and continuous 1, so as to reduce intersymbol interference and jitter, and facilitate clock extraction at a receiving end. And meanwhile, the frequency spectrum of the baseband signal is expanded, so that the encryption effect is achieved.
One implementation of scrambling codes may be illustrated in fig. 9, for example. Wherein the scrambling polynomial may be: g (x) =1+x 39 +x 58 . In general, scrambling is a cyclic calculation process, and the data input to the scrambler is input in the form of a data stream, and the scrambled data output from the scrambler is also output in the form of a data stream. Specifically, S0 to S57 can be understood as serial synchronous shift registers, when 257B data is continuously input, the data is first xored with one data, the data obtained by xoring the data output from S38 and S57 respectively, then the data obtained by xoring the data with one data is output, and the input value S0 is shifted through S0 to S57, and the shift register S3 is used for the data input from S0 to S57The values output by 8 and S57 are exclusive-ored respectively, and the exclusive-ored value is output after being exclusive-ored with the input data, and shifting to S0 is continued for shifting and exclusive-ored calculation. The data output by the scrambler is the transmission data corresponding to the Ethernet interface or the FlexE.
It may be understood that, first, initial code stream data transmitted by any ethernet service interface or any FlexE interface of the access PCS sublayer is received, a processing time slot of the initial code stream data is determined, the code stream data is transcoded according to the processing time slot to obtain transcoded data, and the transcoded data is scrambled according to the processing time slot to obtain the ethernet interface or transmission data corresponding to FlexE, for example, the first transmission data or the second transmission data described above. Therefore, the method can realize the simultaneous acquisition of the Ethernet interface and the FlexE interface data, allocate time slots for each Ethernet interface or FlexE interface, process the data of the corresponding service interface in each time slot, and realize the processing of the Ethernet interface data and the FlexE interface data in a time division manner, thereby saving network resources.
However, the data transmitted by the FlexO interface accords with the data requirements of subsequent scheduling, preprocessing, RS-FEC coding and the like, so that the data transmitted by the FlexO interface can be directly received without the processing of transcoding, scrambling and the like, and the steps of TDM scheduling, preprocessing and the like are performed subsequently. Namely, the data transmitted by the FlexO interface can be used as the first transmission data. In general, the FlexO interface transmits a data stream, and the RS-FEC may directly process the data stream transmitted by the FlexO interface according to 257B data. Therefore, after receiving the data sent by the FlexO interface, steps such as scheduling and preprocessing can be performed without processing.
In addition, the PCS sublayer may also receive input data transmitted by one or more Interlaken interfaces, where the interfaces of the input data transmitted by the Interlaken interfaces may be implemented by a space division manner. Taking one of the Interlaken interfaces as an example, after receiving the initial code stream data transmitted by any one of the Interlaken interfaces, firstly, scrambling the received input data (i.e. step 4021), where the received input data is XB-length data, and further, the step of scrambling may be similar to the step 4013 described above, and will not be repeated here.
And then performing XB-to-YB transcoding on the scrambled XB data (i.e. step 4022). Specifically, n bits of identification data are added before XB to obtain YB data, where n is an integer not less than 0. For example, if x=64 and y=67, 3 bits of identification data may be added before XB data. For example, 001, 010, 101, 110, etc. may be added to the header of 64B data, where 001 may be identified as a data block and all 64 bits of data are not inverted; 010 can be identified as a control block and all 64 bits of data do not take the inverse code; 101 may be identified as a block of data, all 64 bits of data taking the inverse code; 110 may be identified as a control block and all 64 bits of data are inverted.
After obtaining the YB data, the YB-ZB transcoding is continued (i.e. step 4023) to obtain transmission data corresponding to the Interlaken interface, i.e. one of the sets of transmission data in fig. 2. The PCS sub-layer can be connected with a plurality of Interlaken interfaces and can receive input data transmitted by the plurality of Interlaken interfaces, so that after the plurality of input data are processed to obtain a plurality of YB data, the transcoding from YB to ZB is carried out. And, XB data after scrambling transmitted by a plurality of Interlaken interfaces can be processed at the same time, after the XB data corresponding to the plurality of Interlaken interfaces are converted into YB data, when the YB is converted into ZB, time slots can be allocated to each YB data, and the YB data corresponding to each Interlaken interface is processed in different time slots. Therefore, when performing the YB to ZB transcoding, the time slot corresponding to each Interlaken interface can also be determined, and each YB data is processed in the corresponding time slot. Specifically, the specific process of transcoding YB into ZB data may be, for example, compressing 67B data into 65B data if y=67, z=130, and may be specifically compressing 3-bit identification data into 1-bit data. For example, a data block is identified as 0, a control block is identified as 1, and 65B data is obtained. The two 65B data are then combined to obtain 130B data. The 130B data may be understood as transmission data, for example, the first transmission data or the second transmission data described above.
In the embodiment of the present application, the order of acquiring the transmission data of each service interface is not limited, and the transmission data corresponding to the ethernet interface may be acquired first, or the transmission data corresponding to the FlexO interface may be acquired first, which is specifically determined according to the order of transmitting the corresponding data of the actual service interface, which is not limited herein.
After the multiple sets of transmission data are obtained, TDM scheduling may be performed (i.e., step 403). And determining a corresponding transmission time slot for each group of transmission data, and carrying out scheduling processing according to the transmission time slot corresponding to each group of transmission data.
Specifically, multiple sets of transmission data may be acquired, where the multiple sets of transmission data may include data transmitted by step 4013, step 4023, or one or more FlexO interfaces directly received, and so on. After the plurality of sets of transmission data are acquired, a transmission time slot of each set of transmission data can be determined, and the acquired transmission data are processed according to the transmission time slot of each set of transmission data. The following further describes the first transmission data as any one of the plurality of sets of transmission data.
Optionally, the transmission time slot corresponding to each group of transmission data may be preset, or may be allocated in real time after the transmission data is acquired. Specifically, if the transmission time slot is preset, before the multiple sets of transmission data are acquired, a time slot matched with the bandwidth can be allocated to each accessed service interface and stored in the database, and after the transmission data corresponding to the service interface are acquired, the transmission time slot of the transmission data can be searched from the database according to the service interface. If the transmission time slots are allocated in real time, after each group of transmission data in the plurality of groups of transmission data is acquired, the time slots can be allocated according to the service type of the service interface corresponding to each group of transmission data, the time slots can be allocated according to the acquisition sequence of each group of transmission data, the time slots can be allocated according to the priority of each group of transmission data, and the time slots allocated to each group of transmission data can be matched with the bandwidths of the corresponding service interfaces, and can be specifically adjusted according to practical application scenes.
After determining the first transmission time slot corresponding to the first transmission data, the first transmission data is preprocessed in the first transmission time slot (i.e. step 404) to obtain preprocessed data corresponding to the first transmission data. Each set of transmission data in the acquired sets of transmission data can be preprocessed according to the corresponding transmission time slot so as to obtain preprocessed data corresponding to each set of transmission data.
The preprocessing process may include performing code block interleaving grouping on the first transmission data to obtain first preprocessed data. And inserting an alignment mark into the first preprocessing data to obtain second preprocessing data.
Specifically, the first transmission data may be divided into a plurality of groups by performing code block interleaving grouping. The bit length of the data of each group is an integer multiple of the encoded bit length of the channel encoder. For example, if the channel encoder is an RS-FEC encoder, the RS-FEC encoder may employ Galois Field (GF) based RS encoding, each character having a length of 10 bits (bit). Thus, each group of characters may be an integer multiple of 10bit characters when grouping, so that the RS-FEC encoder can encode normally. For example, if the first transmission data has a length of 1000 bits, the first transmission data may be divided into n groups, n < = 100, and the length of each group of characters is an integer multiple of 10 bits.
Specifically, after code block interleaving grouping, the first pre-processed data may be understood as a plurality of data packets. An alignment identifier corresponding to the first service may be inserted in each data packet so that the encoder may encode the first pre-processed data. For example, if an alignment identifier is added to the start bit of each data packet, the encoder may encode the data after the alignment identifier after identifying the alignment identifier. In addition, the alignment mark can also enable the receiving end to finish the alignment of the plurality of data packets after receiving the data encoded by the plurality of data packets, so as to avoid the data dislocation. The alignment identifier may be an identifier inserted at a preset interval in each data packet after the transmitted data is sliced. In addition, the alignment mark may be a piece of data arranged in a preset manner, a serial number arranged according to the sequence of the data packets, and the like.
The alignment identifiers corresponding to different service interfaces may be the same or different, and may be specifically adjusted according to the actual application scenario, which is not limited herein.
More specifically, the insertion of the alignment mark may be referred to the relevant specifications in the standard IEEE 802.3.
After the preprocessing (i.e., step 404) is performed to obtain second preprocessed data, encoding (i.e., step 405) may continue to obtain first code stream data. The coding mode may be RS-FEC coding.
Specifically, the RS-FEC encoding mode may be that the RS-FEC encoder processes k characters, calculates 2t redundancy check characters, and obtains a final character, where the number of characters is n, and n=k+2t. For example, taking the common RS (544, 514) as an example, n=544, k=514, t=15.
Further, the specific procedure of RS-FEC encoding may be:
the message polynomial m (x) is divided by the generator polynomial g (x) to obtain the check polynomial p (x):
p(x)=x n-k m(x)mod g(x)。
the message polynomial may be: m (x) =m k-1 x k-1 +m k-2 x k-2 +...+m 1 x+m 0 。
The check polynomial may be obtained as: p (x) =p 2t-1 x 2t-1 +p 2t-2 x 2t-2 +...+p 1 x+p 0 。
According to the above formula, the finally output RS-FEC encoding polynomial may be:
C(x)=m n-1 n-1 +m n-2 n-2 +...+m n-k x n-k-1 +p n-k-1 x n-k-1 ...+p 0 。
the RS-FEC encoding polynomial may be understood as a combination of a message polynomial and a check polynomial. When the receiving end acquires the data, the check polynomial is used for determining the check polynomial according to the data carried in the data and a preset generating polynomial to calculate whether the message polynomial carried in the data has data errors or not and correct the error data.
The RS-FEC encoder may take different values of n and k to obtain different data error correction capabilities, and typically, the ethernet uses RS (528, 514) and RS (544, 514).
After RS-FEC encoding is performed to obtain the first code stream data, the first code stream data is distributed in one step according to the service interface corresponding to the first code stream data (i.e. step 406). Specifically, when the first code stream data is distributed, according to the difference of service types of the service interfaces corresponding to the first code stream data, mapping the virtual transmission channel of the first code stream data to the physical channel in the corresponding first transmission time slot, so as to transmit the first code stream data through the physical transmission channel. In general, the transmission rates corresponding to the service interfaces of different service types may also be different, for example, the transmission rate corresponding to the ethernet interface may be 200GB, the transmission rate corresponding to the flexe interface may be 100GB, and so on. The transmission rates of the different physical channels may be different, so that the physical channel for transmitting the first code stream data is determined according to the service type of the service interface corresponding to the first code stream data, the first code stream data is distributed to the PMA sublayer and to the corresponding physical channel, and the first code stream data is transmitted to the receiving end through the PMA sublayer.
In this embodiment of the present application, the PCS sublayer may access multiple service interfaces, determine a transmission time slot corresponding to data transmitted by each service interface, and process each group of transmission data in the corresponding transmission time slot. Therefore, the RS-FEC encoder can process the data transmitted by a plurality of identical or different service interfaces according to the transmission time slots corresponding to the determined service interfaces, and the utilization rate of the RS-FEC encoding resources is improved. And moreover, the access of a plurality of service interfaces can be realized through time division or space division and the like among each service interface, the time slot can be flexibly configured, various types of service interfaces can be flexibly accessed, and network resources can be saved while the flexibility of accessing the service interfaces is ensured.
The foregoing specifically describes a transmission flow of the data transmission method provided in the embodiment of the present application, and the following more specifically describes a receiving flow provided in the present application.
First, each group of code stream data may be split into a plurality of data packets, and after receiving the plurality of data packets sent through the PMA sublayer, the alignment identifier in the data packets may be retrieved. After the alignment identifier in the plurality of data packets is retrieved, the data packets carrying the alignment identifier are locked (i.e., step 407), i.e., the data packets do not need to be processed before the code stream data is reassembled.
And after determining all the data packets of the code stream data, performing skew compensation according to the alignment rules of different service types and the transmission time slots and according to the detected alignment mark (i.e. step 408). The data are aligned and combined into the first code stream data obtained by RS-FEC encoding in the foregoing step 405. And eliminating transmission deviation among different transmission channels through the alignment mark.
Optionally, after the alignment identifier is aligned to obtain the first code stream data, the alignment identifier in the first code stream data may be deleted. When deleting the alignment identifier, in the embodiment of the present application, the first code stream data in the following steps may be understood as the first code stream data after deleting the alignment identifier.
For example, if an alignment identifier is inserted between every 100 characters, after receiving a plurality of data packets, the alignment identifier in each data packet is detected, if one data packet has only 99 characters, it can be confirmed that there is a data error or data loss in the data packet, at this time, the data packet can be retransmitted according to the notification PMA, or the characters of the data error or data loss can be recovered according to a preset rule, and the like. And after all data packets of the code stream data are acquired, the data are recombined into the code stream data.
It should be noted that, in the embodiment of the present application, the specific alignment mark locking (i.e. step 407) and skew compensation (i.e. step 408) may refer to the relevant specifications in the standard IEEE802.3, and will not be described herein.
After the multiple sets of code stream data are obtained, a transmission time slot corresponding to each set of code stream data may be determined, and each set of code stream data may be decoded in the corresponding transmission time slot (i.e. step 409). Taking the first code stream data and the second code stream data as examples, after the first code stream data is obtained, determining a first transmission time slot of the first code stream data, and decoding the first code stream data in the first transmission time slot. After the second code stream data is obtained, determining a second transmission time slot corresponding to the second code stream data, and decoding the second code stream data in the second transmission time slot. The first code stream data is any one group of code stream data in the plurality of groups of code stream data, and the second code stream data is any one group of code stream data except the first code stream data in the plurality of groups of code stream data. The decoding step is the inverse of the RS-FEC encoding step in step 405.
Taking the obtained any one of the plurality of groups of code stream data as the first code stream data as an example, in the foregoing step 405, it may be understood that the message polynomial is divided by the generator polynomial to obtain a check polynomial, and the finally output RS-FEC encoded polynomial is the message polynomial plus the check polynomial. Therefore, the inverse process is that the combined code polynomial is divided into a message polynomial and a check polynomial. Because the values of the generating polynomial, n and k are determined, a message polynomial and a check polynomial can be calculated, and incorrect bits in the message polynomial can be determined according to the check polynomial and the generating polynomial, so that error correction of the message polynomial is realized, and first decoding data is obtained.
After decoding each group of code stream data according to the corresponding transmission time slot, the reorganization is continued (i.e. step 410) to obtain multiple groups of transmission data.
The specific reassembling process is that, for the preprocessing in the foregoing step (i.e. step 404), since the alignment identifier of different services is added, the code block interleaving grouping is performed, and after each group of code stream data is obtained, the code stream data needs to be reassembled, including the reassembling of the code stream data into the number of characters before the grouping, for example, the integer multiple of the original 10 bits is grouped into one group, and the integer multiple of the original 10 bits is grouped into one group. And according to different business rules, the data are recombined into corresponding transmission data. For example, the lengths of the transmission data corresponding to the ethernet interface, the FlexE interface, and the FlexO interface may be reassembled to be 255B, the lengths of the transmission data corresponding to the interlaken interface may be reassembled to be 130B, and so on.
After the multiple sets of transmission data are obtained by reorganization, each set of transmission data is distributed according to the transmission time slot corresponding to each set of transmission data (i.e. step 411).
Taking the first transmission data as an example, if the first transmission data is the transmission data corresponding to the ethernet interface or the FlexE interface, the first transmission data is distributed to a corresponding descrambler for descrambling. If the first transmission data is the transmission data corresponding to the FlexO interface, the first transmission data is directly distributed to the FlexO interface. If the first transmission data is the transmission data corresponding to the Interlaken interface, the first transmission data is distributed to a transcoder for transcoding.
The following describes, by way of example, the first transmission data, respectively, for different service interfaces.
1. If the first transmission data is transmission data corresponding to the Interlaken interface.
First, the first transmission data needs to be transcoded (i.e., step 4121). If the length of the first transmission data is ZB, the ZB may be converted into transcoding data with the length of YB. For example, if z=130, y=67, the 130B data may be divided into two 65B data, and 1-bit data of a preset position of each 65B data may be converted into 3-bit identification data. For example, 0 is converted to 001, 101, 1 is converted to 010, 110, etc., to obtain 67B data. Wherein 001 can be identified as a block of data and all 64 bits of data do not take the inverse code; 010 can be identified as a control block and all 64 bits of data do not take the inverse code; 101 may be identified as a block of data, all 64 bits of data taking the inverse code; 110 may be identified as a control block and all 64 bits of data are inverted.
The YB to XB transcoding is then performed (i.e. step 4122). The conversion of the YB data into the XB data may specifically be deleting the identification data in the YB data. For example, if y=67, x=64, and the header of each YB data includes 3-bit identification data, the 3-bit identification data of the header may be deleted to obtain 64B data.
The XB data is then descrambled (i.e., step 4123) to obtain the traffic data corresponding to the Interlaken interface. The descrambling process is the inverse of the scrambling process, and for the step 4021, the XB data may be input into the descrambler, the input data is subjected to exclusive-or operation, and then shift output is performed. Specifically, the specific process of descrambling may be calculated according to a scrambling polynomial, and the specific process of descrambling is similar to the scrambling process shown in fig. 9, which is not repeated here.
After obtaining the service data corresponding to the Interlaken interface, the service data is sent to the corresponding Interlaken interface.
It should be understood that the number of the Interlaken interfaces may be one or more, when there are multiple Interlaken interfaces, the Interlaken interfaces perform transcoding (i.e. step 4121) to obtain transmission data, and then distribute the transmission data to corresponding processing channels according to the service interfaces corresponding to each group of transmission data for processing, which may perform processing on multiple paths of data simultaneously, including transcoding, descrambling, and the like, and send the transmission data to the corresponding Interlaken interfaces after the processing is completed to obtain the corresponding service data.
In this embodiment of the present application, after ZB to YB transcoding, YB data may be further transcoded and descrambled, and if there are multiple YB data and multiple Interlaken interfaces corresponding to each of the Interlaken interfaces, the YB data corresponding to each of the Interlaken interfaces may be processed at the same time, and the multiple Interlaken interfaces are accessed in a space division manner, so that the utilization rate of the resources involved in the processing steps 407 to 411 may be improved.
2. And if the first transmission data is the transmission data corresponding to the FlexO interface.
If the first transmission data is the transmission data corresponding to the FlexO interface, the first transmission data may be directly sent to the corresponding FlexO interface. In general, since the length of the transport data corresponding to the FlexO interface is 257B, processing is not required, and thus the transport data corresponding to FlexO can be directly transmitted to the FlexO interface. The number of the accessed FlexO interfaces can be one or more, and if a plurality of FlexO interfaces exist, the transmission data of each FlexO interface is respectively sent to each FlexO interface.
In this embodiment of the present application, if the first transmission data corresponds to the FlexO interface, the first data may be directly transmitted to the corresponding FlexO interface, so that one or more FlexO interfaces may be accessed, thereby improving the utilization rate of the network resource.
3. If the first transmission data is the transmission data corresponding to the Ethernet interface or the FlexE interface.
If the service interface corresponding to the first transmission data is an ethernet interface or a FlexE interface, the processing time slot corresponding to the first transmission data is determined before the descrambling (i.e. step 4131) is performed. The processing time slot may be preset, and when the first transmission data is acquired, the processing time slot of the first transmission data may be directly queried according to the service type of the service interface corresponding to the first transmission data. The processing time slot may also be allocated in real time for the first transmission data when the first transmission data is acquired.
The first transmission data may be distributed to a descrambler for descrambling (i.e., step 4131) to obtain descrambled data. Specifically, the process of descrambling is similar to the process of scrambling in step 4013 described above. In step 4013, the first transmission data is input to the descrambler according to the first transmission time slot, and the input data is output, such as exclusive-or operation and shift.
Specifically, for example, referring to fig. 9, if the scrambling code generator polynomial is G (x) =1+x 39 +x 58 The data is first exclusive-ored with one data, which is data after exclusive-ored with the data respectively output by S38 and S57, then the data after exclusive-ored with one data is output, and the input value S0 is shifted through S0 to S57, and the values respectively output by the shift registers S38 and S57 are exclusive-ored, and the exclusive-ored value is output after exclusive-ored with the input data, and is shifted to S0, and then shift and exclusive-ored are performed, so as to obtain descrambled data and output.
After the descrambled data is obtained, the length of the descrambled data is typically 257B, so that 257B to 66B transcoding may be performed according to the processing time slot corresponding to the first transmission data (i.e. step 4132). Specifically, converting 257B data into 66B data may be the inverse of the conversion process described in the foregoing fig. 5 to 8. For example, bit 0 of 257 data may be deleted, then the remaining data is divided into 4 pieces of 64B data on average, and then 2 bit identification bits are added to each 64B data header, so that 4 pieces of 66B data may be obtained. Wherein the 4 66B data are all data 66B. And when the 4 pieces of 66B data are 1 piece of 66B data and the next 3 pieces of data are 66B, deleting bits 0 to 4 of 257 pieces of data, adding 4 pieces of control data after 4 bits, dividing the data into 4 pieces of 64B data on average, and adding 2 identification bits to the head of each 64B data to obtain 4 pieces of 66B data. When the current 3 data are data 66B and the last 1 data are control 66B, deleting bits 0 to 4 of 257 data, adding 4-bit control data to the control data part, dividing the data into 4 64B data on average, and adding 2-bit identification bits to the head of each 64B data to obtain 4 66B data. When the 4 data are all the control 66B, deleting the bits 0 to 4 of 257 data, adding the corresponding control data to the bit corresponding to each control data, then dividing the data into 4 64B data on average, and adding 2 identification bits to the head of each 64B data to obtain 4 66B data.
After transcoding to obtain 66B data, the 66B data is distributed according to the processing time slots (i.e. step 4133), and sent to the corresponding FlexE interface or ethernet interface. If one or more FlexE interfaces or one or more ethernet interfaces are accessed, the 66B data is distributed to the corresponding FlexE interfaces or ethernet interfaces.
Therefore, when the interface corresponding to the first transmission data is a FlexE interface or an ethernet interface, the first transmission data can be processed according to the processing time slot of the first transmission data, and then distributed to the corresponding service interface after the processing is completed. For example, if the first transmission data corresponds to the FlexE interface, after descrambling and 257B to 66B transcoding the first transmission data according to the processing time slot, the 66B data, that is, the third code stream data is distributed to the FlexE interface. Therefore, the transmission data corresponding to one or more FlexE interfaces or one or more Ethernet interfaces can be processed in a time division manner, the RS-FEC decoding resources are shared for processing, the access of a plurality of service interfaces is realized, and the utilization rate of network resources is improved.
In the embodiment of the application, after receiving the code stream data sent by the PMA sublayer, the code stream data is processed, including the steps of AM locking, skew compensation, decoding, reorganization, distribution and the like, and the data corresponding to the service interfaces are allocated with corresponding transmission time slots, so that the processing of the data corresponding to a plurality of service interfaces is realized. Therefore, one or more identical or different service interfaces can be accessed, the processing of the data of the one or more identical or different service interfaces is realized, network resources are saved, and compared with one corresponding RS-FEC encoder of one service interface, the data transmission method provided by the embodiment of the application can realize the sharing of the RS-FEC resources by a plurality of identical or different service interfaces in a mode of combining time division and space division, and the utilization rate of the RS-FEC resources is improved. And the system can flexibly access multiple types of service interfaces, and improves the processing efficiency of data corresponding to the multiple types of service interfaces.
It should be understood that, in the application embodiment provided in fig. 4, the transmitting side or the receiving side is connected to a plurality of service interfaces, and when the device or the network chip performing steps 4011-406 is located in a certain device, one end of the plurality of services may be connected to the network chip or the network chip side in the application, and the other end may be connected to another processing module, so that data processed by the other processing module is transmitted to the transmitting side in the application embodiment through the plurality of service interfaces for processing, or data obtained by the receiving side in the application embodiment is sent to the processing module for further processing.
The foregoing describes the flow of the method provided by the present application, and the apparatus provided by the present application is described in detail below based on the methods shown in fig. 2-9. Referring to fig. 10, a schematic structural diagram of a network chip is provided.
The network chip may include: a channel encoder 1001, a slot scheduler 1002, and a data distributor 1003.
The time slot scheduler 1002 is configured to determine a first transmission time slot of a first transmission data and a second transmission time slot of a second transmission data, where the first transmission data and the second transmission data are any two sets of transmission data in multiple sets of transmission data corresponding to multiple service interfaces.
The channel encoder 1001 is configured to perform channel encoding on the first transmission data in a first transmission time slot to obtain first code stream data, and encode the second transmission data in a second transmission time slot by the channel encoder 1001 to obtain second code stream data.
Wherein the channel encoder 1001 may be used to perform the step 202 of fig. 2 described above.
The data distributor 1003 is configured to distribute the first code stream data to a receiving end corresponding to the first code stream data, and distribute the second code stream to a receiving end corresponding to the second code stream.
Wherein the data distributor 1003 can be used to perform step 203 of fig. 2 described previously.
In an alternative implementation manner of the embodiment of the present application, the data distributor 1003 is specifically configured to distribute, in the first transmission time slot, the first code stream data to a corresponding physical media adaptation sublayer PMA according to a preset distribution rule, and distribute, in the second transmission time slot, the second code stream data to the PMA, so as to transmit, by using the PMA, the first code stream data to a network chip corresponding to the first code stream data, and transmit, by using the PMA, the second code stream data to a network chip corresponding to the second code stream data.
Wherein the data distributor 1003 can be used to perform the aforementioned step 203 in fig. 2, and step 406 in fig. 4.
In an optional implementation manner of the embodiment of the present application, any one of the plurality of service interfaces may be an ethernet service interface or a flexible ethernet FlexE interface, and the network chip further includes: a first traffic interface, a first transcoder 1006 and a first scrambler 1007. The first service interface may be an ethernet interface or a FlexE interface, such as FlexE interface 1004, ethernet interface 1005 in fig. 10, for example.
The first service interface, i.e. the FlexE interface 1004 or the ethernet interface 1005, is specifically configured to receive the initial code stream data.
The time slot scheduler 1002 is further configured to determine a processing time slot for the initial code stream data. The time slot scheduler 1002 may be configured to perform step 4011 in fig. 4 described above.
It should be noted that embodiments of the present application may include one or more slot schedulers. The time slot schedulers used for determining the transmission time slots for each group of transmission data and the time slots for determining the initial code stream data can be the same time slot scheduler or different time slot schedulers.
The first transcoder 1006 is configured to transcode the initial code stream data in the processing time slot to obtain transcoded data. The first transcoder 1006 may be specifically configured to perform step 4011 in fig. 4 described above
The first scrambler 1007 is configured to scramble the transcoded data in the processing time slot to obtain the first transmission data. The first scrambler 1007 may be used to perform step 4013 in fig. 4 described above.
In an optional implementation manner of the embodiment of the present application, the plurality of service interfaces includes at least one Inter1ake interface, and the network chip further includes: a second traffic interface, a second transcoder 1006 and a second scrambler 1007. The second traffic interface may be an Interlaken interface, i.e. the Interlaken interface 1008 in fig. 10.
The second service interface, i.e. the Interlaken interface 1008, is one or more in number for receiving incoming data.
The second scrambler 1009 is configured to scramble the input data to obtain scrambled data. This second scrambler 1009 may be used to perform step 4021 in fig. 4 described previously. The network chip may include one or more second scramblers, and each of the Interlaken interfaces may correspond to one of the second scramblers.
The second transcoder 1010 is configured to add identification data to the scrambled data to obtain data of a preset length. The second transcoder 1010 may be used to perform step 4022 in fig. 4, described previously. The network chip in the present application may include one or more second transcoders 1010, and each Interlaken interface may correspond to one second transcoder 1010.
The third transcoder 1011 is configured to group the data with the preset length to obtain the first transmission data. Wherein the third transcoder 1011 may be used to perform step 4023 in fig. 4 described above.
In an optional implementation manner of the embodiment of the present application, the plurality of service interfaces includes at least one FlexO interface, and the network chip may further include: a third service interface, namely the FlexO interface 1012 in fig. 10.
The FlexO interface 1012 is one or more in number and may be used to receive the first transmission data.
In an alternative implementation of the embodiments of the present application,
the time slot scheduler 1002 is specifically configured to determine the first transmission time slot corresponding to the first transmission data and the second transmission time slot corresponding to the second transmission data according to a preset rule.
In an alternative implementation of the embodiment of the present application, the timeslot scheduler 1002 is specifically configured to:
distributing a transmission time slot for each service interface in the plurality of service interfaces according to a preset mode so as to obtain a corresponding transmission time slot of each service interface;
determining a first service interface corresponding to the first transmission data and a second service interface corresponding to the second transmission data;
And determining the first transmission time slot from the transmission time slots corresponding to each service interface according to the first service interface, and determining the second transmission time slot from the transmission time slots corresponding to each service interface according to the second service interface.
In an alternative implementation of the embodiment of the present application, the channel encoder 1001 is specifically configured to:
and carrying out code block interleaving grouping on the first transmission data in the first transmission time slot to obtain first preprocessing data. And inserting an alignment mark into the first preprocessing data in the first transmission time slot to obtain second preprocessing data. And performing channel coding on the second preprocessed data in the first transmission time slot to obtain the first code stream data.
The channel encoder 1001 may be used to perform the step 202 in fig. 2 or the steps 404 and 405 in fig. 4.
In an alternative implementation of the embodiments of the present application, the channel encoder 1001 may be an RS-FEC encoder.
The foregoing describes one network chip provided in the present application in detail, and the following describes another network chip provided in the present application.
Referring to fig. 11, the network chip may include: decoder 1102 and slot scheduler 1101.
The time slot scheduler 1101 is configured to determine a transmission time slot of each group of code stream data in the plurality of groups of code stream data, where the transmission time slot includes a first transmission time slot corresponding to a first code stream data and a second transmission time slot corresponding to a second code stream data, and the first code stream data and the second code stream data are any two groups of code stream data in the plurality of groups of code stream data corresponding to a plurality of service interfaces.
The decoder 1102 is configured to decode the first code stream data in a first transmission time slot to obtain first transmission data, and decode the second code stream data in a second transmission time slot by the decoder 1102 to obtain second transmission data, where the first transmission time slot is different from the second transmission time slot. Wherein. The receiver the decoder 1102 may be used to perform step 302 of fig. 3 described previously.
In an optional implementation manner of the embodiment of the present application, if the type of the first service interface is any one of an ethernet interface or a FlexE interface, the network chip may further include: a first traffic interface, a first descrambler 1103, a first transcoder 1104 and a first distributor 1105; the first traffic interface may be a FlexE interface or an ethernet interface, such as FlexE interface 1106 or ethernet interface 1107 in fig. 11, for example.
The time slot scheduler 1101 is further configured to determine a processing time slot of the first transmission data after the decoder 1102 decodes the first code stream data in the first transmission time slot to obtain the first transmission data.
It should be noted that, the network chip in the present application may include one or more time slot schedulers, which may be the same time slot scheduler or different time slot schedulers, for determining a transmission time slot for each group of code stream data and determining a processing time slot for the first transmission data.
The first descrambler 1103 may be configured to descramble the first transmission data during the processing time slot to obtain descrambled data. The first descrambler 1103 may be configured to perform step 4131 of fig. 4 as described above.
The first transcoder 1104 is configured to transcode the descrambled data in the processing slot to obtain third code stream data corresponding to the first service interface. The first transcoder 1104 may be used to perform step 4132 in fig. 4 as described above.
The first distributor 1105 is configured to distribute the third code stream data to a first service interface, i.e. a FlexE interface or an ethernet interface. The first dispenser 1105 may be configured to perform step 4133 of fig. 4 described above.
In an optional implementation manner of the embodiment of the present application, if the first service interface is an Interlaken interface, the network chip may further include: a second traffic interface, a second descrambler 1110, a second transcoder 1108, and a third transcoder 1109; the second traffic interface may be an Interlaken interface, such as Interlaken interface 1111 in fig. 11, for example.
The second transcoder 1108 is configured to transcode the first transmission data after the decoder 1102 decodes the first code stream data in the first transmission time slot to obtain the first transmission data, so as to obtain data with a preset length. The second transcoder 1108 may be specifically configured to perform step 4121 of fig. 4 as described above.
The third transcoder 1109 is configured to delete the identification data in the data with the preset length to obtain scrambled data. The third transcoder 1109 may be specifically configured to perform step 4122 in fig. 4 described above. The network chip may include one or more third transcoders 1109, and each of the Interlaken interfaces may correspond to one of the third transcoders.
The second descrambler 1110 is configured to descramble the scrambled data to obtain service data corresponding to the Interlaken interface. The second descrambler 1110 may be specifically adapted to perform step 4123 of fig. 4 described above. Wherein, the network chip may include one or more second descramblers, and each of the Interlaken interfaces may correspond to one of the second descramblers.
The second service interface, i.e., the Interlaken interface 1111, is used to transmit the service data. The number of the Interlaken interfaces 1111 may be one or a plurality.
In an optional implementation manner of the embodiment of the present application, if the first service interface is a FlexO interface, the network chip may further include: a third traffic interface and a second distributor 1112. The third service interface may be a FlexO interface, such as FlexO interface 1113 in fig. 11, for example.
The second distributor 1112 is configured to send the first transmission data to a third service interface, namely, the FlexO interface 1113 after the decoder 1102 decodes the first code stream data in the first transmission slot to obtain the first transmission data.
Note that, the second distributor 1112 may distribute the code stream data to the first descrambler 1103, the second transcoder 1102, or the like, in addition to the FlexO interface, and specifically may be adjusted according to the actual application scenario, which is not limited herein.
In an alternative implementation of the embodiments of the present application,
the time slot scheduler 1101 may be specifically configured to determine the first transmission time slot corresponding to the first transmission data and the second transmission time slot corresponding to the second transmission data according to a preset rule.
In an alternative implementation manner of the embodiment of the present application, the time slot scheduler 1101 may specifically be used for:
distributing a transmission time slot for each service interface in the plurality of service interfaces according to a preset mode to obtain a corresponding first transmission time slot of each service interface; determining that the first code stream data corresponds to a first service interface of the plurality of service interfaces and the second code stream data corresponds to a second service interface of the plurality of service interfaces; and determining the first transmission time slot from the transmission time slots corresponding to each service interface according to the first service interface, and determining the second transmission time slot from the transmission time slots corresponding to each service interface according to the second service interface.
In an alternative implementation manner of the embodiment of the present application, the time slot scheduler 1101 may specifically be used for: after each set of code stream data is received, a transmission time slot is allocated for each set of code stream data.
In an alternative implementation manner of the embodiment of the present application, the network chip further includes: synchronizer 1114.
The synchronizer 1114 is configured to obtain an alignment identifier in the first code stream data in the first transmission time slot.
The synchronizer 1114 is further configured to align the first code stream data according to the alignment identifier in the first transmission time slot, so as to obtain aligned data. The synchronization at 1112 may be used to perform steps 407 and 407 of fig. 4 described above.
The decoder 1102 is specifically configured to decode the aligned data in the first transmission time slot to obtain the first transmission data.
In an alternative implementation of the embodiment of the present application, the method includes:
the decoder 1102 may be an RS-FEC decoder.
It should be noted that, the network chip provided in fig. 10 and the network chip provided in fig. 11 may further include more devices besides the devices included in fig. 10 and fig. 11, and may be specifically adjusted according to practical applications, which is not limited in this application.
The present application also provides a communication system that may include one or more first network chips and one or more second network chips. The one or more first network chips may be the network chips of fig. 10 described above and may be used to perform the flow of the transmitting side of the method of data transmission referred to in any of the embodiments of fig. 2-9 described above. The one or more second network chips may be the network chips of fig. 11 described above and may be used to perform the flow of the receiving side of the method of data transmission referred to in any of the embodiments of fig. 2-9 described above.
The embodiment of the application also provides a network chip, which comprises: the processing module and the communication module can execute the flow of the method for transmitting the data. Further, the chip may further include a storage module (e.g., a memory) configured to store instructions, and the processing module is configured to execute the instructions stored in the storage module, and execution of the instructions stored in the storage module causes the processing module to perform the method flow in any of the method embodiments of fig. 2-9.
It should be appreciated that the network chips mentioned in the embodiments of the present application may include a central processing unit (Central Processing Unit, CPU), and may also include other general purpose processors, digital signal processors (Digital Signal Processor, DSP), application specific integrated circuits (Application Specific Integrated Circuit, ASIC), off-the-shelf programmable gate arrays (Field Programmable Gate Array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and the like. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
In this embodiment of the present application, the network chip in fig. 10 or the network chip in fig. 11 may be integrated with a communication chip, or an FPGA, etc., and the same channel encoder is used to encode transmission data corresponding to multiple service interfaces that are accessed, so that the utilization rate of the channel encoder may be improved, and logic resources may be saved.
It should also be understood that the memory referred to in this application may be volatile memory or nonvolatile memory, or may include both volatile and nonvolatile memory. The nonvolatile Memory may be a Read-Only Memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an electrically Erasable EPROM (EEPROM), or a flash Memory. The volatile memory may be random access memory (Random Access Memory, RAM) which acts as an external cache. By way of example, and not limitation, many forms of RAM are available, such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double Data Rate SDRAM (Double Data Rate SDRAM), enhanced SDRAM (ESDRAM), synchronous DRAM (SLDRAM), and Direct RAM (DR RAM).
It should be noted that the memory described herein is intended to comprise, without being limited to, these and any other suitable types of memory.
It should be understood that, in various embodiments of the present application, the sequence number of each process does not mean that the sequence of execution is sequential, and some or all of the steps may be executed in parallel or sequentially, where the execution sequence of each process should be determined by its functions and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
It will be clear to those skilled in the art that, for convenience and brevity of description, specific working procedures of the above-described systems, apparatuses and units may refer to corresponding procedures in the foregoing method embodiments, and are not repeated herein.
In the several embodiments provided in this application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of the units is merely a logical function division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in each embodiment of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit.
Relevant parts among the method embodiments can be mutually referred to; the apparatus provided by each apparatus embodiment is configured to perform the method provided by the corresponding method embodiment, so each apparatus embodiment may be understood with reference to the relevant part of the relevant method embodiment.
The device configuration diagrams presented in the device embodiments of the present application only show a simplified design of the corresponding device. In practical applications, the apparatus may include any number of transmitters, receivers, processors, memories, etc. to implement the functions or operations performed by the apparatus in the embodiments of the apparatus of the present application, and all apparatuses capable of implementing the present application are within the scope of protection of the present application.
The names of the messages/frames/indication information, modules or units, etc. provided in the embodiments of the present application are only examples, and other names may be used as long as the roles of the messages/frames/indication information, modules or units, etc. are the same.
The terminology used in the embodiments of the application is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used in this application and the appended examples, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. The character "/" in the present application generally indicates that the associated object is an or relationship.
The word "if" or "if" as used herein may be interpreted as "at … …" or "at … …" or "in response to a determination" or "in response to detection", depending on the context. Similarly, the phrase "if determined" or "if detected (stated condition or event)" may be interpreted as "when determined" or "in response to determination" or "when detected (stated condition or event)" or "in response to detection (stated condition or event), depending on the context.
Those of ordinary skill in the art will appreciate that all or some of the steps in implementing the methods of the above embodiments may be implemented by a program to instruct related hardware, where the program may be stored in a readable storage medium of a device, where the program includes all or some of the steps when executed, where the storage medium includes, for example: FLASH, EEPROM, etc.
While the foregoing embodiments have been described in some detail for purposes of clarity of understanding, it will be appreciated that various embodiments of the invention may be practiced otherwise than as specifically described, and that no limitations are intended to the scope of the invention except as may be modified or practiced in any way within the spirit and principles of the invention.
Claims (27)
1. A network chip, comprising: a channel encoder, a time slot scheduler, and a data distributor, wherein:
the time slot scheduler is configured to determine a first transmission time slot of a first transmission data and a second transmission time slot of a second transmission data, where the first transmission data and the second transmission data are any two sets of transmission data in multiple sets of transmission data corresponding to multiple service interfaces;
the channel encoder is configured to perform channel encoding on the first transmission data in the first transmission time slot to obtain first code stream data, and perform encoding on the second transmission data in the second transmission time slot to obtain second code stream data;
the data distributor is configured to distribute the first code stream data to a receiving end corresponding to the first code stream data, and distribute the second code stream data to a receiving end corresponding to the second code stream data;
the data distributor is specifically configured to distribute, in the first transmission time slot, the first code stream data to a corresponding physical medium adaptation sublayer PMA according to a preset distribution rule, and distribute, in the second transmission time slot, the second code stream data to the PMA, so as to transmit, by using the PMA, the first code stream data to a receiving end corresponding to the first code stream data, and transmit, by using the PMA, the second code stream data to a receiving end corresponding to the second code stream data.
2. The network chip of claim 1, wherein the network chip further comprises: an ethernet interface or a flexible ethernet FlexE interface, a first transcoder and a first scrambler, wherein:
any one of the ethernet interface or the flexible ethernet FlexE interface is configured to receive initial code stream data;
the time slot scheduler is further configured to determine a processing time slot of the initial code stream data;
the first transcoder is configured to transcode the initial code stream data in the processing time slot to obtain transcoded data;
the first scrambler is configured to scramble the transcoded data in the processing time slot to obtain the first transmission data.
3. The network chip of claim 1, wherein the network chip further comprises: at least one Interlaken interface, a second transcoder, a second scrambler, and a third transcoder, wherein:
any one of the at least one Interlaken interfaces is used for receiving input data;
the second scrambler is used for scrambling the input data to obtain scrambled data;
the second transcoder is configured to add identification data to the scrambling data to obtain data with a preset length;
The third transcoder is configured to group the data with the preset length to obtain the first transmission data.
4. The network chip of claim 1, wherein the network chip further comprises: a FlexO interface;
the FlexO interface is configured to receive the first transmission data.
5. The network chip of any one of claims 1-4, wherein,
the time slot scheduler is specifically configured to determine the first transmission time slot corresponding to the first transmission data and the second transmission time slot corresponding to the second transmission data according to a preset rule.
6. The network chip of claim 5, wherein the time slot scheduler is specifically configured to:
distributing a transmission time slot for each service interface in the plurality of service interfaces according to a preset mode to obtain a corresponding transmission time slot of each service interface;
determining a first service interface corresponding to the first transmission data and a second service interface corresponding to the second transmission data;
and determining the first transmission time slot from the transmission time slots corresponding to each service interface according to the first service interface, and determining the second transmission time slot from the transmission time slots corresponding to each service interface according to the second service interface.
7. The network chip according to any one of claims 1-4, wherein the channel encoder is specifically configured to:
code block interleaving grouping is carried out on the first transmission data in the first transmission time slot so as to obtain first preprocessing data;
inserting an alignment mark into the first preprocessing data in the first transmission time slot to obtain second preprocessing data;
and carrying out channel coding on the second preprocessed data in the first transmission time slot to obtain the first code stream data.
8. The network chip of claim 7, wherein the channel encoder is a reed-solomon forward error correction code RS-FEC encoder.
9. A network chip, comprising: a decoder and a slot scheduler;
the time slot scheduler is configured to determine a first transmission time slot corresponding to first code stream data and a second transmission time slot corresponding to second code stream data, where the first code stream data and the second code stream data are any two groups of code stream data in multiple groups of code stream data corresponding to multiple service interfaces;
the decoder is configured to decode the first code stream data in a first transmission time slot to obtain first transmission data, and decode the second code stream data in a second transmission time slot by using the decoder to obtain second transmission data, where the first transmission time slot is different from the second transmission time slot;
The time slot scheduler is specifically configured to:
distributing a transmission time slot for each service interface in the plurality of service interfaces according to a preset mode to obtain a corresponding transmission time slot of each service interface;
determining that the first code stream data corresponds to a first service interface of the plurality of service interfaces and the second code stream data corresponds to a second service interface of the plurality of service interfaces;
and determining the first transmission time slot from the transmission time slots corresponding to each service interface according to the first service interface, and determining the second transmission time slot from the transmission time slots corresponding to each service interface according to the second service interface.
10. The network chip of claim 9, wherein the network chip further comprises: an ethernet interface or a FlexE interface, a first descrambler, a first transcoder and a first distributor;
the time slot scheduler is further configured to determine a processing time slot of the first transmission data after the decoder decodes the first code stream data in the first transmission time slot to obtain the first transmission data;
the first descrambler is configured to descramble the first transmission data in the processing time slot to obtain descrambled data;
The first transcoder is configured to transcode the descrambled data in the processing time slot to obtain third code stream data;
the first distributor is configured to distribute the third code stream data to the first service interface.
11. The network chip of claim 9, wherein the network chip further comprises: at least one Interlaken interface, a second descrambler, a second transcoder and a third transcoder;
the second transcoder is configured to transcode the first transmission data after the decoder decodes the first code stream data in a first transmission time slot to obtain the first transmission data, so as to obtain data with a preset length;
the third transcoder is configured to delete identification data in the data with the preset length to obtain scrambled data;
the second descrambler is configured to descramble the scrambled data to obtain service data;
any interface in the at least one Interlaken interface is used for transmitting the service data.
12. The network chip of claim 9, wherein the network chip further comprises: a FlexO interface, and a second dispenser;
The second distributor distributes the first transmission data to the FlexO interface.
13. The network chip according to any one of claims 9 to 12, wherein,
the time slot scheduler is specifically configured to determine the first transmission time slot corresponding to the first transmission data and the second transmission time slot corresponding to the second transmission data according to a preset rule.
14. The network chip according to any one of claims 9-12, wherein the network chip further comprises: a synchronizer;
the synchronizer is configured to obtain an alignment identifier in the first code stream data in the first transmission time slot;
the synchronizer is further configured to align the first code stream data according to the alignment identifier in the first transmission time slot, so as to obtain aligned data;
the decoder is specifically configured to decode the alignment data in the first transmission time slot to obtain the first transmission data.
15. The network chip according to any one of claims 9-12, comprising:
the decoder is an RS-FEC decoder.
16. A method of data transmission, comprising:
Acquiring first transmission data and second transmission data, wherein the first transmission data and the second transmission data are any two groups of transmission data in a plurality of groups of transmission data corresponding to a plurality of service interfaces;
channel coding is carried out on the first transmission data in a first transmission time slot through a channel coder to obtain first code stream data, and the second transmission data is coded in a second transmission time slot through the channel coder to obtain second code stream data, wherein the first transmission time slot and the second transmission time slot are different time slots;
distributing the first code stream data to a receiving end corresponding to the first code stream data, and distributing the second code stream data to a receiving end corresponding to the second code stream data;
the distributing the first code stream data to the receiving end corresponding to the first code stream data and the distributing the second code stream data to the receiving end corresponding to the second code stream data includes:
in the first transmission time slot, the first code stream data is distributed to a corresponding physical medium adaptation sublayer (PMA) according to a preset distribution rule, in the second transmission time slot, the second code stream data is distributed to the PMA, the first code stream data is transmitted to a receiving end corresponding to the first code stream data through the PMA, and the second code stream data is transmitted to the receiving end corresponding to the second code stream data.
17. The method according to claim 16, wherein any one of the plurality of service interfaces is an ethernet interface or a flexible ethernet FlexE interface, and the acquiring the first transmission data includes:
receiving initial code stream data transmitted by the Ethernet service interface or the FlexE interface;
determining a processing time slot of the initial code stream data;
transcoding the initial code stream data in the processing time slot to obtain transcoded data;
and scrambling the transcoded data in the processing time slot to obtain the first transmission data.
18. The method of claim 16, wherein the plurality of service interfaces includes at least one high-speed interconnect interface, and the acquiring the first transmission data includes:
receiving input data transmitted by any one of the at least one Interlaken interface;
scrambling the input data to obtain scrambled data;
adding identification data into the scrambling data to obtain data with preset length;
and grouping the data with the preset length to obtain the first transmission data.
19. The method according to claim 16, wherein the plurality of service interfaces includes at least one flexible optical transport network FlexO interface, and the acquiring the first transmission data includes:
And receiving the first transmission data sent by any one interface in the at least one FlexO interface.
20. The method according to any of claims 16-19, wherein the first transmission time slot RS-FEC encodes the first transmission data to obtain first code stream data, comprising:
code block interleaving grouping is carried out on the first transmission data in the first transmission time slot so as to obtain first preprocessing data;
inserting an alignment mark into the first preprocessing data in the first transmission time slot to obtain second preprocessing data;
and carrying out channel coding on the second preprocessed data through the channel coder in the first transmission time slot to obtain the first code stream data.
21. The method of claim 20, wherein the channel encoder is a reed-solomon forward error correction code RS-FEC encoder.
22. A method of data transmission, comprising:
acquiring first code stream data and second code stream data, wherein the first code stream data and the second code stream data are any two groups of code stream data in a plurality of groups of code stream data corresponding to a plurality of service interfaces;
decoding the first code stream data in a first transmission time slot by a decoder to obtain first transmission data, and decoding the second code stream data in a second transmission time slot by the decoder to obtain second transmission data, wherein the first transmission time slot is different from the second transmission time slot;
The decoding, by the decoder, the first code stream data in a first transmission time slot to obtain the first transmission data, including:
acquiring an alignment identifier in the first code stream data in the first transmission time slot;
aligning the first code stream data according to the alignment identifier in the first transmission time slot to obtain alignment data;
and decoding the aligned data through the decoder in the first transmission time slot to obtain the first transmission data.
23. The method of claim 22, wherein if the type of the plurality of service interfaces includes any one of an ethernet interface and a FlexE interface, after the decoding of the first code stream data by the decoder in the first transmission time slot to obtain the first transmission data, the method further comprises:
determining a processing time slot of the first transmission data;
descrambling the first transmission data in the processing time slot to obtain descrambled data;
and transcoding the descrambling data in the processing time slot to obtain third code stream data corresponding to the Ethernet interface or the FlexE interface, and transmitting the third code stream data to the Ethernet interface or the FlexE interface.
24. The method of claim 22, wherein if the plurality of traffic interfaces includes an Interlaken interface, after the decoding of the first code stream data by the decoder in the first transmission slot to obtain the first transmission data, the method further comprises:
transcoding the first transmission data to obtain data with preset length;
deleting the identification data in the data with the preset length to obtain scrambling code data;
and descrambling the scrambled data to obtain service data corresponding to the Interlaken interface, and transmitting the service data to the Interlaken interface.
25. The method of claim 22, wherein if the plurality of service interfaces includes a FlexO interface, after the decoding of the first code stream data by the decoder in the first transmission slot to obtain the first transmission data, the method further comprises:
and sending the first transmission data to the FlexO interface.
26. The method according to any of claims 22-25, wherein the decoder is an RS-FEC decoder.
27. A communication system comprising a first network chip and a second network chip;
The first network chip is the network chip of any one of claims 1-8;
the second network chip is a network chip according to any one of claims 9-15.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/124957 WO2020133237A1 (en) | 2018-12-28 | 2018-12-28 | Data transmission method, and network chip, and communication system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113287266A CN113287266A (en) | 2021-08-20 |
CN113287266B true CN113287266B (en) | 2023-05-05 |
Family
ID=71128476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880100557.9A Active CN113287266B (en) | 2018-12-28 | 2018-12-28 | Data transmission method, network chip and communication system |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113287266B (en) |
WO (1) | WO2020133237A1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115766047A (en) * | 2021-09-03 | 2023-03-07 | 华为技术有限公司 | Data transmission method, data transmission equipment, readable storage medium and chip system |
CN113890827B (en) * | 2021-12-03 | 2022-04-15 | 国网江苏省电力有限公司信息通信分公司 | Power communication resource allocation method, device, storage medium and electronic equipment |
CN118487714A (en) * | 2023-02-14 | 2024-08-13 | 华为技术有限公司 | Method, equipment and system for transmitting data in Ethernet |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101594539A (en) * | 2009-06-24 | 2009-12-02 | 中兴通讯股份有限公司 | Realize method, decoder and the supervisory control system of decoder synchronous polling |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8289952B2 (en) * | 2005-05-25 | 2012-10-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Enhanced VoIP media flow quality by adapting speech encoding based on selected modulation and coding scheme (MCS) |
US7839948B2 (en) * | 2005-12-02 | 2010-11-23 | Qualcomm Incorporated | Time slicing techniques for variable data rate encoding |
KR100678156B1 (en) * | 2005-12-12 | 2007-02-02 | 삼성전자주식회사 | Apparatus and method for transmitting and receiving wireless packet data |
US10231254B2 (en) * | 2016-08-05 | 2019-03-12 | Nokia Technologies Oy | 5G cloud RAN method for symbol by symbol bit streaming |
CN108809392B (en) * | 2017-04-26 | 2020-07-28 | 华为技术有限公司 | Data sending method, data receiving method, network equipment and terminal equipment |
-
2018
- 2018-12-28 CN CN201880100557.9A patent/CN113287266B/en active Active
- 2018-12-28 WO PCT/CN2018/124957 patent/WO2020133237A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101594539A (en) * | 2009-06-24 | 2009-12-02 | 中兴通讯股份有限公司 | Realize method, decoder and the supervisory control system of decoder synchronous polling |
Also Published As
Publication number | Publication date |
---|---|
WO2020133237A1 (en) | 2020-07-02 |
CN113287266A (en) | 2021-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103875205B (en) | The method and apparatus of transmission data | |
KR101633326B1 (en) | Method of transmission | |
US9258084B2 (en) | Method and implementation for network coefficents selection | |
US11043975B2 (en) | Encoding method, decoding method, apparatus, and system | |
CN103797742B (en) | The method of processing data, physical chip and ethernet device in Ethernet | |
US20110255631A1 (en) | Methods and apparatus for fast synchronization using tail biting convolutional codes | |
US10708106B2 (en) | Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method | |
CN113287266B (en) | Data transmission method, network chip and communication system | |
WO2007003127A1 (en) | A multicarrier hsdpa traffic transmission channel coding method and the coding apparatus thereof | |
CN111510246A (en) | Method and apparatus for receiving broadcast signal and method and apparatus for transmitting broadcast signal | |
CN101809904A (en) | Response to atsc mobile/handheld rfp a-vsb mcast and, a-vsb physical and link layers with single frequency network | |
US20070081532A1 (en) | Data packet and data packet constructing method using reserved bits | |
WO2010091618A1 (en) | Mobile multimedia broadcast transmission system | |
CN111884899A (en) | Method for transmitting data and forwarding device | |
TW201626731A (en) | Apparatus and method for sending and receiving broadcast signals | |
CN114710234A (en) | Multi-user data multiplexing super-frame coding modulation method | |
WO2007085151A1 (en) | An error control method and an interdependent relay system | |
US10833710B2 (en) | Bandwidth efficient FEC scheme supporting uneven levels of protection | |
US9007984B1 (en) | Network coding for satellite communications | |
WO2010091622A1 (en) | Mobile multimedia broadcast transmission system | |
EP0993133B1 (en) | Data communications apparatus and method | |
JP2001237791A (en) | Wireless transmission system of burst and packet using product code by repeated decoding | |
CN113330696A (en) | CPRI data block transmission method and device | |
US20090147764A1 (en) | Method for encoding data blocks | |
ES2342642B1 (en) | METHOD AND SYSTEM FOR THE TRANSMISSION OF DIGITAL CONTENTS WITH SERVICE ALMOST UNDER DEMAND AND IMPLIED CORRECTION OF ERRORS. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |