Forward error correction synchronization method and forward error correction synchronization system capable of recovering synchronization of forward error correction blocks
Granted 30 Dec 2025 · 1 office action
Assignee: MediaTek
Law firm: Law firm · Log in to unlock
Attorney: Attorney · Log in to unlock
Inventors: Chih-Kang Hsu, Yu-Shen Chou, Tzu-Ying Tung, Tai-Lai Tung +6 · Examiner: Thien Nguyen · AU 2111 · TC 2100
Life of the application
8 dated eventsDescription
5 parts›BACKGROUND
The forward error correction (FEC) technology is a mechanism for recovering error packets on a link by sending additional parity symbols padding to the packets. In other words, FEC codes can be regarded as special code words for detecting errors and correcting errors. With the redundancy information sent from a transmitter, the receiver is able to detect certain errors from the received data. Since the FEC technology can resist errors and improve robustness of signal communications, the FEC technology is popularly applied for correcting corrupted data in various high-speed multi-media communications.
However, when an FEC enable sequence is undetected by a sink terminal (viewed as a receiver) due to numerous bit errors or severe channel interferences, although the sink terminal can maintain symbol synchronization, it may fail in the synchronization of FEC blocks because it does not know when the source (viewed as a transmitter) starts sending data with FEC enabled.
Therefore, developing an FEC synchronization system capable of recovering the synchronization of FEC blocks for the high-speed multi-media communications is an important design issue.
›SUMMARY
In an embodiment of the present invention, a forward error correction (FEC) synchronization method is disclosed. The FEC synchronization method comprises establishing a link between a source terminal and a sink terminal, transmitting a tagged symbol periodically from the source terminal to the sink terminal, identifying the tagged symbol by the sink terminal after the tagged symbol is received by the sink terminal, collecting a plurality of symbols transmitted from the source terminal for generating a plurality of FEC blocks received by the sink terminal after the tagged symbol is successfully identified, and synchronizing the plurality of FEC blocks between the source terminal and the sink terminal according to the tagged symbol. The tagged symbol comprises predefined patterns.
In another embodiment of the present invention, a forward error correction (FEC) synchronization system is disclosed. The FEC synchronization system comprises a source terminal and a sink terminal linked to the source terminal. The source terminal comprises an 8 b / 10 b encoder and an FEC encoder coupled to the 8 b / 10 b encoder. The sink terminal comprises a 10 b / 8 b decoder and an FEC decoder coupled to the 10 b / 8 b decoder. After a link between the source terminal and the sink terminal is established, the source terminal periodically transmits a tagged symbol to the sink terminal. The sink terminal identifies the tagged symbol after the tagged symbol is received by the sink terminal. The sink terminal collects a plurality of symbols transmitted from the source terminal for generating a plurality of FEC blocks received by the sink terminal after the tagged symbol is successfully identified. The plurality of FEC blocks between the source terminal and the sink terminal are synchronized by the sink terminal according to the tagged symbol. The tagged symbol comprises predefined patterns.
These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.
›BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a forward error correction (FEC) synchronization system according to an embodiment of the present invention.
FIG. 2 is an illustration of data communications between a source terminal and a sink terminal of the FEC synchronization system in FIG. 1 .
FIG. 3 is a flow chart of performing an FEC synchronization method by the FEC synchronization system in FIG. 1 .
›DETAILED DESCRIPTION · 1 of 2
FIG. 1 is a block diagram of a forward error correction (FEC) synchronization system 100 according to an embodiment of the present invention. The FEC synchronization system 100 includes a source terminal 10 and a sink terminal 11 . The sink terminal 11 is linked to the source terminal 10 . The source terminal 10 can be regarded a data transmitter, such as a graphics card. The sink terminal 11 can be regarded as a data receiver, such as a display device or a monitor. To perform high-speed data communications between the source terminal 10 and the sink terminal 11 , the source terminal 10 can start a link training stage under a suitable link rate and an appropriate lane count. The sink terminal 11 can be trained for performing a clock recovery, channel equalization, and symbol lock functions (i.e., M symbol bits alignment). Therefore, the link L between the source terminal 10 and the sink terminal 11 can correspond to a high-speed media channel link. The source terminal 10 includes an 8 b / 10 b encoder 10 a and an FEC encoder 10 b . The FEC encoder 10 b is coupled to the 8 b / 10 b encoder 10 a . Here, the 8 b / 10 b encoder 10 a is used for encoding 8-bit data segments of a data stream DS 1 as 10-bit symbols for achieving direct current (DC) balance and bounded disparity. The FEC encoder 10 b can be used for performing a linear encoding mechanism of a group of symbols by using a generating matrix with parity information. The FEC encoder 10 b can output a plurality of FEC blocks. However, the FEC synchronization system 100 is not limited to the 8 b / 10 b encoder 10 a and specific sizes of the FEC blocks. For example, each FEC block can include N symbols. Each symbol can include M symbol bits. N and M are positive integers. Further, the sink terminal 11 can include a 10 b / 8 b decoder 11 b and an FEC decoder 11 a . The FEC decoder 11 a is coupled to the 10 b / 8 b decoder 11 b . The FEC decoder 11 a can be used for decoding each FEC block. The 10 b / 8 b decoder 11 b can be used for decoding each symbol encoded by the 8 b / 10 b encoder 10 a to generate a decoded data stream DS 2 . In the FEC synchronization system 100 , after the link L between the source terminal 10 and the sink terminal 11 is established, the source terminal 10 can periodically transmit a tagged symbol to the sink terminal 11 . The sink terminal 11 can identify the tagged symbol after the tagged symbol is received by the sink terminal 11 . Then, the sink terminal 11 can collect a plurality of symbols transmitted from the source terminal 10 for generating a plurality of FEC blocks received by the sink terminal 11 after the tagged symbol is successfully identified. Here, the plurality of FEC blocks can be synchronized between the source terminal 10 and the sink terminal 11 according to the tagged symbol. The tagged symbol can include predefined patterns. Details of performing the FEC block synchronization by the FEC synchronization system 100 are illustrated below.
FIG. 2 is an illustration of data communications between the source terminal 10 and the sink terminal 11 of the FEC synchronization system 100 . In FIG. 2 , x-axis denotes as a timeline. After the FEC encoder 10 b of the source terminal 10 is enabled, the source terminal 10 can transmit an FEC enable sequence FEC_EN to the sink terminal 11 . Then, the source terminal 10 can transmit P FEC blocks (such as FEC blocks FEC 0 _ 0 to FEC 0 _ 255 ) to the sink terminal 10 after the FEC enable sequence FEC_EN is generated. P can be a positive integer, such as 256 or 512. In FIG. 2 , the sink terminal 11 can receive a plurality of symbols transmitted from the source terminal 10 and then determine if the received symbols can be detected as the FEC enable sequence FEC_EN. For example, in FIG. 2 , a sequence UN_DET formed by received symbols cannot be identified as the FEC enable sequence FEC_EN due to numerous bit errors or severe channel interferences. Therefore, since the FEC enable sequence FEC_EN cannot be detected or identified by the sink terminal 11 , the synchronization of the P FEC blocks in a first duration fails. In other words, although the FEC block FEC 0 _ 0 to the FEC block FEC 0 _ 255 are transmitted from the source terminal 10 to the sink terminal 11 , since the FEC enable sequence FEC_EN cannot be detected or identified by the sink terminal 11 , the FEC decoder 11 a of the sink terminal 11 is not enabled. As a result, the sink terminal 11 processes the FEC block FEC 0 _ 0 to the FEC block FEC 0 _ 255 as “data symbols”. It can be understood that the source terminal 10 can transmit the plurality of symbols to the sink terminal 11 . The sink terminal 11 can still align the M symbol bits of each symbol for synchronizing the plurality of symbols received by the sink terminal 11 . However, since the sink terminal 11 processes the FEC block FEC 0 _ 0 to the FEC block FEC 0 _ 255 as “data symbols”, the FEC block FEC 0 _ 0 to the FEC block FEC 0 _ 255 cannot be decoded by the FEC decoder 11 a in the first duration.
After the source terminal 10 generates P FEC blocks FEC 0 _ 0 to FEC 0 _ 255 during the first duration, the source terminal 10 can generate the tagged symbol TG 1 . Thus, in a beginning time point of a second duration, the source terminal 10 can transmit the tagged symbol TG 1 to the sink terminal 11 . Then, the source terminal 10 can transmit P FEC blocks FEC 1 _ 0 to FEC 1 _ 255 to the sink terminal 11 after the tagged symbol TG 1 is transmitted from the source terminal 10 to the sink terminal 11 . As previously mentioned, the tagged symbol TG 1 includes the predefined patterns. Thus, after the sink terminal 11 acquires the predefined patterns, the sink terminal 11 can compare the predefined patterns with the tagged symbol TG 1 received by the sink terminal 11 for identifying the tagged symbol TG 1 . If the tagged symbol TG 1 is successfully identified by the sink terminal 11 , it implies that a beginning time point of transmitting the P FEC blocks FEC 1 _ 0 to FEC 1 _ 255 from the source terminal 10 can be aligned by the sink terminal 11 . Therefore, although the sink terminal 11 loses the synchronization of the P FEC blocks FEC 0 _ 0 to FEC 0 _ 255 in the first duration, the sink terminal 11 can “recover” the synchronization of the P FEC blocks FEC 1 _ 0 to FEC 1 _ 255 in the second duration according to the tagged symbol TG 1 . After the P FEC blocks FEC 1 _ 0 to FEC 1 _ 255 are synchronized, the FEC decoder 11 a of the sink terminal 11 can be enabled to decode the P FEC blocks FEC 1 _ 0 to FEC 1 _ 255 . Similarly, after the source terminal 10 generates the P FEC blocks FEC 1 _ 0 to FEC 1 _ 255 during the second duration, the source terminal 10 can generate a tagged symbol TG 2 . The tagged symbol TG 1 and the tagged symbol TG 2 can be identical. In other words, the tagged symbol TG 1 can be periodically generated. A period of the tagged symbol TG 1 can be defined as a transmitting time difference between the tagged symbol TG 1 and the tagged symbol TG 2 , which is equal to a time length of transmitting the P FEC blocks FEC 1 _ 0 to FEC 1 _ 255 . Similarly, if the tagged symbol TG 2 is successfully identified by the sink terminal 11 , subsequent FEC blocks following the tagged symbol TG 2 can also be synchronized by the sink terminal 11 .
›DETAILED DESCRIPTION · 2 of 2
In the FEC synchronization system 100 , any hardware or technology modification falls into the scope of the present invention. For example, when the source terminal 10 terminates the FEC encoder 10 b , the source terminal 10 can transmit an FEC disable sequence to the sink terminal 11 . Then, the FEC disable sequence can be received by the sink terminal 11 . After the FEC disable sequence is received by the sink terminal 11 , the sink terminal 11 can disable the FEC decoder 11 a to decode the at least one FEC block. Further, the tagged symbol TG 1 or TG 2 can include FEC parity marker (PM) information. The link L between the source terminal 10 and the sink terminal 11 can be a display Port (DP) link or any high-speed media channel link. The 8 b / 10 b encoder 10 a and the 10 b / 8 b decoder 11 b can be any pair-wised encoder and decoder for achieving DC balance and bounded disparity. Further, the tagged symbol TG 1 or TG 2 can be any pre-defined symbol.
FIG. 3 is a flow chart of performing an FEC synchronization method by the FEC synchronization system 100 . The FEC synchronization method includes step S 301 to step S 305 . Any technology or hardware modification falls into the scope of the present invention.
step S 301 : establishing a link L between a source terminal 10 and a sink terminal 11 ; step S 302 : transmitting a tagged symbol TG 1 periodically from the source terminal 10 to the sink terminal 11 ; step S 303 : identifying the tagged symbol TG 1 by the sink terminal 11 after the tagged symbol TG 1 is received by the sink terminal 11 ; step S 304 : collecting a plurality of symbols transmitted from the source terminal 10 for generating a plurality of FEC blocks FEC 1 _ 0 to FEC 1 _ 255 received by the sink terminal after the tagged symbol TG 1 is successfully identified; step S 305 : synchronizing the plurality of FEC blocks FEC 1 _ 0 to FEC 1 _ 255 between the source terminal 10 and the sink terminal 11 according to the tagged symbol TG 1 .
Details of step S 301 to step S 305 are previously illustrated. Thus, they are omitted here. In the FEC synchronization system 100 , periodic tagged symbols are introduced for synchronizing FEC blocks. Since the transmitting time difference between two tagged symbols is equal to the time length of transmitting P FEC blocks, the tagged symbols can be used for aligning a beginning time point and an ending time point of each period of P FEC blocks. Therefore, although the FEC enable sequence is undetected by the sink terminal 11 , the sink terminal 11 can still recover synchronization of the FEC blocks between the source terminal 10 and the sink terminal 11 according to the tagged symbol. As a result, decoding errors or synchronization errors of incoming FEC blocks can be reduced.
To sum up, the present invention discloses an FEC synchronization method and an FEC synchronization system. The FEC synchronization system can use periodic tagged symbols for aligning the beginning time point and the ending time point of each period of the FEC blocks. Therefore, the synchronization of the FEC blocks can be recovered when the FEC enable sequence is undetected by the sink terminal. Since the synchronization of the FEC blocks can be recovered, decoding errors or synchronization errors of incoming FEC blocks can be reduced.
Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.
Claims as granted
18 claimsLog in to read the claims of this application.
Log in to unlockClassifications
3 codes- H04L7/02
- H04L1/00
- H03M13/33
Claim changes
SoonSee which claims were amended, added or cancelled during examination, with every added and removed word marked.
The published claims of this application are not paired with the granted ones in what we hold.
File wrapper
See the full prosecution history — every USPTO and applicant action on this file, in order.
Log in to unlockDocuments
Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.
Log in to unlockChain of title
See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.
Log in to unlock