Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
MODIFIED CODING WITH AN ADDITIONAL CONTROL SYMBOL
Document Type and Number:
WIPO Patent Application WO/2009/104154
Kind Code:
A1
Abstract:
The invention refers to a run- length limited method of coding M-bit symbols, the M-bit symbols including M-bit data symbols and M-bit control symbols, the method comprising coding N-bit data blocks into M-bit data symbols, with M>N, the data symbols having a maximum run length limit of L; coding an M-bit control symbol, the control symbol comprising a run length X with X>L, which is uniquely detectable and suitable for symbol synchronization; and wherein the running disparity value of both the data symbols and the control symbol is limited between RDmax and RDmin.

Inventors:
DEN BESTEN GERRIT WILLEM (NL)
Application Number:
PCT/IB2009/050688
Publication Date:
August 27, 2009
Filing Date:
February 19, 2009
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
NXP BV (NL)
DEN BESTEN GERRIT WILLEM (NL)
International Classes:
H03M5/14; H04L25/49
Foreign References:
US6747580B12004-06-08
EP0763918A21997-03-19
US6876315B12005-04-05
US20050012646A12005-01-20
US20080024334A12008-01-31
Attorney, Agent or Firm:
WILLIAMSON, Paul, L. et al. (IP DepartmentBetchworth House 57-65 Station Road, Redhill Surrey RH1 1DL, GB)
Download PDF:
Claims:

CLAIMS:

1. A run-length limited method of coding M-bit symbols, the M-bit symbols including M-bit data symbols and M-bit control symbols, the method comprising:

- coding N-bit data blocks into M-bit data symbols, with M>N, the data symbols having a maximum run length limit of L; - coding an M-bit control symbol, the control symbol comprising a run length

X with X>L, which is uniquely detectable and suitable for symbol synchronization; and wherein the running disparity value of both the data symbols and the control symbol is limited between RDmax and RDmin.

2. A run-length limited method of coding according to claim 1, further comprising coding a further M-bit control symbol, the further control symbol also comprising a run length of X, and being distinguishable from the control symbol by the bits of the control symbols other than the X bits of the run length.

3. A run-length limited method of coding according to claims 1 or 2, wherein the data symbols are coded according to an 8Bl OB code set, and wherein M=IO and N=8.

4. A run-length limited method of coding according to claim 3, wherein L = 5 and X = 6, and wherein the control symbol comprising a run length of X=6 is 110000.0011 or 001111.1100.

5. A run-length limited method of coding according to claim 4, wherein the control symbol is 110000.0011 when the running disparity at the start of the control symbol is + 1 , and wherein the control symbo 1 is 001111.1100 when the running disparity at the start of the control symbol is -1.

6. A code set, suitable for:

- coding N-bit data blocks into M-bit data symbols, with M>N, the data symbols having a maximum run length limit of L;

- coding an M-bit control symbol, the control symbol comprising a run length X with X>L, which is uniquely detectable and suitable for symbol synchronization; and wherein the running disparity value of both the data symbols and the control symbol is limited between RDmax and RDmin.

7. A code set according to claim 6, and further suitable for coding a further M-bit control symbol, the further control symbol also having a run length of X, and being distinguishable from the control symbol by the bits of the control symbols other than the X bits of the run length.

8. A code set according to claims 6 or 7, wherein the code set is an 8Bl OB code set with M=IO and N=8.

9. A code set according to claim 8, wherein L = 5, X = 6, and wherein the code set comprises the codes 110000.0011 and 001111.1100 for the control symbols having a run- length X=6.

10. A code set according to claim 9, wherein the comma code K28.7 is reserved for error checking purposes.

11. A code set according to claims 9 or 10, wherein the comma code K28.0 is reserved for error checking purposes.

12. A transmitter for transmitting transmissions using the code set of any one of claims 5 to 11.

13. A receiver for receiving transmissions using the code set of any one of clams 5 to 11.

14. A serial interface comprising the transmitter of claim 12 or the receiver of claim 13, and for transmitting or receiving the code set of any one of claims 5 to 11.

15. A transmission stream comprising data symbols and control symbols according to the code set of any of claims 5 to 11.

Description:

Modified coding with an additional control symbol

FIELD OF THE INVENTION

The invention relates to a run- length limited coding scheme, wherein N-bit data is converted into M-bit symbols, with M>N.

BACKGROUND OF THE INVENTION

Known run-length limited coding schemes commonly aim to provide sufficiently frequent signal transitions for clock recovery, and minimized DC spectral components. One way of measuring the DC components is to calculate a running digital sum (RDS) of the code, for example assigning a value of +1 to bit values of 1, and a value of -1 to bit values of 0. A running count of these values will stay close to zero for a low DC component bit sequence. The RDS is also commonly referred to as the running disparity

(RD), which can be calculated by counting the number of logic 1 's in any given bit sequence, and then subtracting the number of logic O's in the bit sequence.

One such run- limited coding scheme is the 8Bl OB line encoding scheme developed by IBM and published in the "IBM Journal of Research and Development (1983, VoI 27, No 5)", and as US 4,486,739. This scheme is very commonly used for high-speed serial data communications, and many different interface standards apply it, such as PCI- Express, Firewire-IEEE1394b, SATA, Gigabit Ethernet, Fibre Channel, and DisplayPort.

The 8Bl OB coding uses 10 bit symbols. Each symbol may be used to encode 8 bits of data, or may be used to encode control codes (K-codes), some of which are comma control codes that help the receiver synchronize to the symbols. Although the coding overhead is rather high, there are several benefits in this coding scheme, especially for lossy and/or AC coupled channels, which validate the overhead. The 8Bl OB coding scheme limits the maximum run length to 5 consecutive bits of equal value, limits the maximum running digital sum (running disparity RD) to values between +3 and -3, and also limits the RD at

each (sub)symbol boundary to values of +1 and -1 to give a balanced (i.e. close to zero) DC component.

The comma codes used in 8Bl OB typically require a 7-10 bit sliding detector to detect them, the detector commonly having a high power consumption and being rather complex to implement. If a comma symbol is only sent at the start-up of the transmission, then the comma symbol tracking can be disabled after symbol-lock has been achieved. However, if one or more comma symbols are utilized throughout the bursts, then tracking needs to be active more often, and this can be a severe burden in implementations as the occurrence of a multi-bit sequence of significant length in a sliding window over the data stream needs to be monitored all the time.

Furthermore, a single bit error in the 8Bl OB comma symbol can make the comma code look like a data code (i.e. the hamming distance is only 1), and the consequences of the loss of a comma symbol are particularly severe if the comma symbol is used for symbol synchronization for the whole of the next frame of data.

SUMMARY OF THE INVENTION

It is therefore an aim of the invention to improve on the known run- length limited coding schemes. The invention is defined by the independent claims, and the dependent claims describe optional advantageous implementations.

An embodiment of the invention comprises a run-length limited method of coding M-bit symbols, the M-bit symbols including M-bit data symbols and M-bit control symbols. The method comprises coding N-bit data blocks into M-bit data symbols, with M>N, the data symbols having a maximum run length limit of L, and coding an M-bit control symbol, the control symbol comprising a run length X with X>L, which is uniquely detectable and suitable for symbol synchronization, and wherein the running disparity value of both the data symbols and the control symbol is limited between RDmax and RDmin.

The use of this run length limited coding scheme having a control symbol that breaks the maximum run length for the data symbols, yet which still remains within the maximum running disparity limits RDmax and RDmin allowed for the data symbols, enables the balanced DC characteristics of the coding scheme to be retained whilst improving the detectability of the control symbol. The detectability of the control symbol is improved, since run-length exceptions are typically far easier to detect than the specific code values that are

used as control symbols in prior art coding schemes. The control symbol can be advantageously be used as a comma control signal for synchronizing a receiver to the symbols of a received transmission, and in this case multiple comma control symbols can be inserted into a transmission to improve symbol synchronization, without needing the power- hungry sliding window detector of the prior art in order to detect them. The RD range between RDmax and RDmin is typically less than the number of bits M in the data symbols for a run length limited, DC balanced method. The data symbols and control symbols can be included in a transmission stream having a running disparity limited between RDmax and RDmin. The transmission stream may also include other symbols, such as known control symbols with a maximum run length of L or less, that in contrary to the control symbol with run length X are not distinguishable from data symbols by detection based on run length alone.

In a further embodiment, a further control symbol also comprising a run length of X is included in the coding scheme, and the further control symbol is distinguishable from the other control symbols having a run length of X, by the bits of the further control symbol other than the X bits of the run length.

Another embodiment provides a code set suitable for coding N-bit data blocks into M-bit data symbols, with M>N, the data symbols having a maximum run length limit of L, and suitable for coding an M-bit control symbol, the control symbol comprising a run length X with X>L, which is uniquely detectable and suitable for symbol synchronization, and wherein the running disparity value of both the data symbols and the control symbol is limited between RDmax and RDmin.

Further embodiments include a transmitter and a receiver which are adapted or configured to use the code sets according the invention, and a serial interface incorporating at least one of the transmitter and receiver. The code set can be stored in a memory of the transmitter for coding the data symbols and the control symbols, and the code set can also be stored in a memory of the receiver for de-coding the data symbols and the control symbols. The data symbols and control symbols can be sent from the transmitter to the receiver within a transmission stream. The creation of such transmitters, receivers, and interfaces to implement a specified code set, is a matter of routine design well within the capabilities of the skilled person, and so is not discussed in any further detail herein.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention will now be described with reference to the accompanying drawings, in which:

Fig. Ia depicts an example of a transmission burst according to an embodiment of the invention, wherein the payload data starts with a comma control symbol MKO to provide symbol synchronization;

Fig Ib depicts an example of a transmission burst consisting of multiple concatenated frames wherein each frame starts with a comma control symbol MKO; and

Fig. 2 depicts the running disparity behavior throughout the symbols for the specific example of 8Bl OB coding, and further includes long-dashed tracks which show the running disparity behavior of an additional comma control symbol according to an embodiment of the invention.

DETAILED DESCRIPTION OF THE DRAWINGS

Figs. Ia and Ib show comma control symbols MKO, in the case of

Fig. Ia at the beginning of the transmission, and in the case of Fig. Ib at the frame intervals within the transmission. The receiver uses these comma control symbols to synchronize itself to the symbol positions in the transmission. Fig. 2 shows a comma control symbol according to an embodiment the invention, in the specific context of the 8Bl OB coding scheme. The Y axis shows the running disparity value RD, and the X axis shows each bit position of one symbol.

The short-dashed lines and the solid lines of the graph show the code values allowed by the 8Bl OB coding schemes, with and without the known 8Bl OB comma symbols respectively. As mentioned earlier, the running disparity value is the number of 1 's received take away the number of O's received, and so the running disparity value increases by 1 every time a logic 1 is received, and decreases by 1 every time a logic 0 is received. It can be seen on Fig.2 that the solid and short-dashed lines stay within the maximum allowed running disparity values of +3 and -3, and the maximum run length of 5, as required in the 8Bl OB coding scheme.

The long-dashed lines of the graph show two complementary comma symbols according to this specific example of the invention, i.e. 110000.0011 or its complement value 001111.1100. These codes both have run- lengths of 6 equal bit values within them, and therefore violate the maximum allowed 8B10B run-length of 5, allowing them to be easily

detected. They do however remain within the maximum allowed disparity values of +3 and - 3, ensuring that the DC balance of the signal is not significantly affected.

The choice between using the comma code 110000.0011 or its complement 001111.1100 depends on the running disparity value at the end of the previous symbol. For example, if the running disparity at the end of the previous symbol is +1, then the comma code 110000.0011 should be used so the running disparity at the end of the comma control signal is -1. If the running disparity at the end of the previous symbol is -1, then the comma code 001111.1100 should be used so the running disparity at the end of the comma control signal is +1. This use of the comma code or its complement keeps the running disparity at the symbol boundaries at +1 or -1, in order to maintain the DC balance.

These symbols 110000.0011 and 001111.1100 will be further denoted by K28.3i, as they have correlation with the normal 8B10B K28.3 symbol, but with the important difference that all bits of the 4bit sub-symbol which encode the '3' are inverted (the regular K28.3 symbol is either 110000.1100 or 001111.0011). These symbols reach all of the 8Bl OB running disparity RD range limits within one symbol: RD is +1 and -1 at the boundaries of the 6bit sub-symbol (with non-zero disparity), while the RD maximum limits of +/-3 are reached after the 2 nd and 8 th bit. Also, the 7-bit sequences 1100000 and 0011111 remain unique sequences for a subset of comma symbols including K28.3i, and any single bit flip at positions 1,2,3,9,10 does not result in another valid 8Bl OB code, meaning that the new comma symbols are more robust against bit errors than the prior-art 8B10B comma symbols.

A bit error at position 8 results in 8B10B symbol K28.7. However, the usage of K28.7 is typically constrained in 8B10B streams, and it is often not applied or is used for initial synchronization only. Therefore the detection of a K28.7 symbol at a receiver could be interpreted as the detection of a corrupted K28.3i symbol (possibly with some error event indication). The likelihood of a bit error occurring in positions 4-7 is low as the signal value is stable during this period. A bit error at position 7 results in code K28.0. If there are more K-codes available than are required for the desirable features, it can be considered not to use the K28.0 code and reserve it for error checking purposes. This makes K28.3i even more robust. However, the chance of a bit error at position 7 is rather low.

All single bit error possibilities and the consequences on 110000.0011 (RD=+ 1) are listed below (the ten bits of the symbol are commonly considered as being split into two sub-blocks of 4 bits and 6 bits, and are denoted herein by sub4 and subβ respectively):

1. 010000.,0011 invalid subβ;

2. 100000. ,001 1 invalid subβ; 1 bit symbol sync uncertainty; adjacent symbols may provide additional info for optimal symbol alignment;

3. 1 11000. 0011 coding rules disallowed this sub4 given the observed subβ;

4. 1 10100. 0011 valid code Dl 1.3 for RD=+1 (violates normal 8B10B coding rules for RD=- 1, so 50% error chance);

5. 1 10010. 0011 valid code D19.3 for RD=+1 (violates normal 8B10B coding rules for RD=- 1, so 50% error chance); 66.. 111100000011..00001111 -» valid code D3.3 for RD=+1 (violates normal 8B10B coding rules for RD=- 1, so 50% error chance);

7. 1 10000. 1011 valid code K28.0;

8. 1 10000. 0111 valid code K28.7;

9. 1 10000. 0001 invalid sub4; 1 bit symbol sync uncertainty; adjacent symbols may provide additional info for optimal symbol alignment; 10. 110000.0010 -> invalid sub4; invalid K28.x;

For RD=- 1, a complementary list can be made by replacing for all the codes the Is by Os and vice versa, and for all RD the +ls by -Is and vice versa. For the resulting list, the same reasoning and consequences are applicable.

Usage of K28.7 and/or K28.0 can be disallowed in the operation scheme and reserved for error checking purposes, in order to further reduce the chances of incorrect symbol detection. Especially for K28.7 this is attractive because this symbol has limited usefulness itself, due to the lack of unconstrained comma properties, and furthermore the 8 th position of K28.3i is relatively vulnerable to errors.

Although the invention has primarily been described in the context of the 8Bl OB coding scheme, those skilled in the art will appreciate that the fundamental principles of the invention as described in claim 1 can easily be generalized to other coding schemes. For example, in a run-length limited coding scheme with:

a symbol length M;

- a runlength limit L, with L<= FLOOR(M/2); and a maximum running disparity RDmax-RDmin>L; at least one control symbol having a runlength X with M>X>L can be added to the original code scheme, which does not violate the running disparity limits, and which can be uniquely detected based on the exception runlength X. The function FLOOR means that the number M/2 is rounded down to the nearest integer. Taking the specific example of 8Bl OB:

- symbo 1 length M= 10 ;

- runlength limit L=5 , with 5<=FLOOR( 10/2); and maximum running disparity limited by 3- -3=6>5.