US20040022238A1 - Physical coding sub-layer for transmission of data over multi-channel media - Google Patents

Physical coding sub-layer for transmission of data over multi-channel media Download PDF

Info

Publication number
US20040022238A1
US20040022238A1 US10/620,635 US62063503A US2004022238A1 US 20040022238 A1 US20040022238 A1 US 20040022238A1 US 62063503 A US62063503 A US 62063503A US 2004022238 A1 US2004022238 A1 US 2004022238A1
Authority
US
United States
Prior art keywords
data
channel
word
bit
logic
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.)
Abandoned
Application number
US10/620,635
Inventor
Myles Kimmitt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Myles Kimmitt
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Myles Kimmitt filed Critical Myles Kimmitt
Priority to US10/620,635 priority Critical patent/US20040022238A1/en
Publication of US20040022238A1 publication Critical patent/US20040022238A1/en
Assigned to HEWLETT-PACKARD COMPANY reassignment HEWLETT-PACKARD COMPANY MERGER (SEE DOCUMENT FOR DETAILS). Assignors: 3COM CORPORATION
Assigned to HEWLETT-PACKARD COMPANY reassignment HEWLETT-PACKARD COMPANY CORRECTIVE ASSIGNMENT TO CORRECT THE SEE ATTACHED Assignors: 3COM CORPORATION
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03828Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties
    • H04L25/03866Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties using scrambling
    • H04L25/03872Parallel scrambling or descrambling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/14Channel dividing arrangements, i.e. in which a single bit stream is divided between several baseband channels and reassembled at the receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0096Channel splitting in point-to-point links

Definitions

  • the present invention relates generally to data encoding and telecommunications and more specifically, to a physical encoding and decoding sub-layer operative to permit the reliable communication of data across a plurality of serial channels.
  • Data is typically received at an input port of a telecommunications device over a high speed serial communications link. Received data is converted to a parallel word format in accordance with a specified media access control (MAC) for processing within the device.
  • MAC media access control
  • the width of the parallel data output from the MAC protocol is typically specified for the respective MAC protocol.
  • a 10 gb ethernet protocol has been described having a MAC output in the form of a 64 bit wide data words. At such high data rates, the transport of data within the device can be problematic.
  • a wide parallel data word is subdivided into a plurality of lesser width parallel data words in which the bits from the wide data word are interleaved across the lesser width data words.
  • the lesser width data words are each XORed in parallel with the output of a side scrambler to decorrelate the data transmitted within each channel.
  • the outputs of the side scrambler for each channel comprise cipher data which is decorrelated from the remaining channels to reduce near end crosstalk (NEXT) between channels.
  • the cipher data is applied to a CRC encoder which, in the present embodiment, generates two additional bits.
  • the two additional bits are derived from the cipher data for the respective channels.
  • the first bit is transmitted in the same channel as the cipher data from which it was derived and is used to verify word alignment at the receive end of the respective serial channel.
  • the second bit is used to assure inter-channel skew.
  • the second bit is rotated across the channel, i.e. transmitted in a channel other than one containing the cipher data from which it was derived.
  • control information is encoded on the second bit for each of the respective channels. The control information indicates whether the data word (a) contains an idle signal, (b) contains data valid in the low order bytes, (c) contains data valid in the high order bytes, or (d) contains valid data across all of the bytes.
  • the cipher data plus the two additional bits are serialized for each channel and transmitted serially over a serial link or channel.
  • the serial data transmitted over each channel is then deserialized within receive logic at the receive end of the respective serial channel.
  • logic is provided to permit the acquisition of word frame alignment, to permit acquisition of inter-channel skew alignment and to obtain the proper seed for use by a descrambler associated with each channel so the cipher data can be converted back into the actual data after synchronization has been achieved.
  • the synchronization process involves a number of steps.
  • word frame alignment is achieved within each channel using the first of the two additional bits transmitted over the serial link.
  • the second bit is employed to achieve inter-channel skew alignment.
  • the receiver can identify idle symbols transmitted over the respective link from the control information encoded on the second bits of each channel.
  • the idle information is then XORed with the cipher data to acquire the seed for each of the channels.
  • the parallel cipher data is then XORed in the receiver for each channel with the output of the descrambler for the respective channel using the seed acquired for each channel.
  • the output of the descrambler corresponds to the actual data transmitted over the respective serial links prior the scrambling of such data in the transmitter.
  • the parallel data output for each channel in the receiver is combined to form the original wide parallel data word.
  • a primary pseudo-random sequence generator and a secondary pseudo-random number generator is replicated in each of the scramblers and descramblers.
  • FXT far end crosstalk
  • the transmission of data in one direction over the plurality of channels proceeds using the primary pseudo-random sequence generators and transmission of data in the opposite direction proceeds using the secondary pseudo-random sequence generators in the transmitter scramblers and the receiver descramblers.
  • the primary and secondary pseudo-random sequence generators are selected so as to decorrelate data transmitted by transmitters in opposite directions over the serial channels.
  • FIG. 1 is a block diagram illustrating a physical coding sublayer within a system operative in accordance with the present invention
  • FIG. 2 is a block diagram illustrating bus signals employed in the system depicted in FIG. 1;
  • FIG. 3 is a block diagram illustrating the transmit portion of the physical coding sublayer depicted in FIGS. 1 and 2;
  • FIG. 4 is a block diagram of a side scrambler for scrambling data in each channel of the transmit portion of the physical coding sublayer
  • FIG. 5 is a block diagram illustrating the receive logic associated with the physical coding sublayer depicted in FIGS. 1 and 2;
  • FIG. 6 is a block diagram illustrating word framing logic
  • FIG. 7 is a block diagram illustrating skew alignment logic.
  • a physical coding sublayer which facilitates communication across multiple serial channels in short haul copper links (such as backplanes and short cable connections) and wave division multiplexing (WDM) applications (employing fiber optic media).
  • a system incorporating the presently disclosed physical coding sublayer is illustrated in FIG. 1. Referring to FIG. 1, data is received from a host system interface over a communication link 10 at a system interface 12 .
  • the system interface is coupled to media access control (MAC) circuitry 14 and provides the interface between the host system interface and the MAC 14 .
  • the MAC 14 controls the reception and transmission of data from and to the physical layer in accordance with techniques well known in the art.
  • a physical coding sublayer which supports a 10 gigabit per second (gbps) ethernet MAC. It should be noted, however, that the techniques and methods explained herein are scaleable and may be employed to support MACs having different parallel output word widths and different line rates.
  • Data and control signals provided at the output of the MAC 14 are coupled to reconciliation logic 16 .
  • the reconciliation logic 16 is coupled to the physical coding sublayer logic 18 via the scaleable media independent interface (SMII) bus interface 20 .
  • the reconciliation logic 16 serves to provide any necessary conversion between the input/output signals associated with the MAC and the signals which make up the SMII bus 20 .
  • Data is conveyed between the reconciliation logic 16 and the physical coding sublayer (PCS) 18 via transmit and receive buses, each of which comprises a wide parallel data bus.
  • PCS physical coding sublayer
  • the physical coding sublayer segments the wide parallel data words received from the reconciliation logic 16 into a plurality of narrower parallel data words and encodes the respective narrower data words as hereinafter described in greater detail to form a corresponding plurality of encoded parallel data words.
  • the encoded parallel data words are conveyed over a Serializer/Deserializer (SERDES) Interface bus 22 from the PCS 18 to a plurality of serializers within Serializer/Deserializer (SERDES) logic 24 .
  • the SERDES logic 24 converts the received encoded parallel data words into serial encoded data.
  • a physical attachment bus 26 couples the SERDES logic 24 to the driver logic 28 for the applicable media. More specifically, the physical attachment bus 26 includes a plurality of serial data channels for carrying serialized encoded data from the SERDES logic 24 to the driver logic 28 or, in the reverse direction for carrying serial data from the driver logic 28 to the SERDES logic 24 .
  • the driver logic 28 provides the appropriate electrical or electro-optical interface to a copper or fiber media, as applicable.
  • the wide parallel data word into a plurality of narrower parallel data words, encoding the narrower parallel data words and transmitting data contained in the plurality of narrower encoded parallel data words serially over a corresponding plurality data of serial channels, the number of printed circuit board runs are greatly reduced, significant space savings on the printed circuit board may be achieved and fewer connector contacts are needed.
  • FIG. 2 illustrates the scalable media independent interface (SMII) 20 , the SERDES interface 22 and the physical attachment interface 26 in greater detail.
  • the SMII bus 20 and the SERDES interface bus 22 each include parallel data buses and control signals. The functions of the respective signals in each of the buses are described below.
  • the physical attachment bus 26 in the illustrated embodiment, includes four channels identified as channels 26 a - 26 d respectively. Each channel includes two differential signalling pairs. One of the differential signalling pairs in each channel is employed for transmission of serial data and the other one of the differential signalling pairs in each channel is employed for reception of serial data.
  • the Scaleable Media Independent Interface (SMII) bus 20 is used to connect the reconciliation logic 16 with the PCS layer 18 .
  • the data width of the parallel data word output from the MAC is 64 bits as is the width of the data word output from the reconciliation logic 16 .
  • the SMII bus 20 includes control lines (TX_EN ⁇ 1:0>) which include control information that is employed to identify which bytes are idle characters or contain valid data when the full 64 bits are not valid.
  • the 64-bit bus is the standard width for the 10 GB/s encoding system. Standardization of the SMII bus interface is useful since other 10 GB/s physical interconnect technologies may be developed (such as a full rate optical interface) and accordingly, the physical coding sublayer will be reusable in different interconnect systems.
  • the SMII bus 20 includes a transmit bus 20 a comprising data and control signals driven by the reconciliation logic 16 and destined for the physical coding sublayer 18 . Additionally, the SMII bus 20 includes a receive bus 20 b comprising data and control signals driven by the physical coding sublayer 18 and destined for the reconciliation logic 16 .
  • the transmit bus 20 a includes sixty four transmit data lines TXD ⁇ 63:0>, two transmit enable lines TX_EN ⁇ 1:0>, an optional TX_ER line, and TX_CLK+ and TX_CLK ⁇ lines. The functions and use of the respective transmit bus signals are described below.
  • TXD Transmit Data Bus
  • TXD ⁇ 63> is defined as the most significant bit and TXD ⁇ 0> is defined as the least significant bit.
  • Byte order is shown in Table 1 and encoding is shown in Tables 2 through 4.
  • the Transmit Enable signals indicate the presence of data on the Transmit Data Bus. Two signals are employed to define bytes of valid data in either the upper or lower bytes of the Transmit Data Bus. This is required for Ethernet frames and the inter packet gap since it cannot be assured that valid data will fall on 8-byte boundaries.
  • Four Transmit Enable states are defined: Idle (no data transmission), Data Valid All, Data Valid Low, Data Valid High. Encoding of the Transmit Enable states is shown in Tables 2 through 4.
  • Transmit Error is an optional control signal that is used by the MAC reconciliation logic 16 to indicate an error to the receiving MAC with a high degree of confidence. Transmit Error can occur at any time during normal frame transmission (i.e. when Transmit Enable is active) and the PCS is responsible for signaling an error within that frame, although the position of the error within the frame is not defined.
  • TX_CLK is a continuous differential transmit clock, generated by the MAC reconciliation 16 , and used to transfer TXD, RX_DV ⁇ 1:0>and TX_ER to the PCS 18 . Sampling occurs on the rising edge of TX_CLK+. This clock is nominally running at 156.25 MHz in a preferred embodiment of the 64-bit wide implementation.
  • TX_EN ⁇ 1:0>and TX_ER signals are used to define whether idles are being carried on the the transmit data lines TXD ⁇ 63:0>as shown in Table 2 and which data within the full width data word is valid. In the idle state, the transmit medium is not actively transmitting data.
  • the three data valid states indicate which bytes of data are valid. Three undefined transmit error states are also provided which may be employed for other purposes.
  • the receive bus is employed for data forwarding from the physical coding sublayer 18 to the reconciliation logic 16 and includes sixty four receive data lines RXD ⁇ 63:0>, two RX_DV ⁇ 0:1>lines, an RX_ER line, and clock lines RX_CLK+ and RX_CLK ⁇ . The function of each of the receive bus signal lines is described below.
  • the Receive Data Bus (RXD ⁇ 63:0>) is used to transfer receive data and control information from the PCS layer 18 to the MAC reconciliation logic 16 .
  • RXD ⁇ 63> is defined as the most significant bit and RXD ⁇ 0>is defined as the least significant bit.
  • Byte order is shown in Table 5 and encoding is shown in Tables 6 through 8.
  • the receive data valid signals RX_DV ⁇ 1:0> indicate the presence of data on the receive data bus lines RXD ⁇ 63:0>.
  • the signals RX_DV ⁇ 1:0> are provided to identify the bytes of valid data on the receive bus RXD ⁇ 63:0>. This facility is necessary since the length of Ethernet frames and inter-packet gaps do not necessarily fall on 8-byte boundaries.
  • Four receive states are possible: Idle (no data reception), receive data valid all, receive data valid low, receive data valid high.
  • the encoding of Receive Data Valid signals is shown in Tables 6 through 8.
  • Receive Error RX_ER is used by the PCS layer 18 to signal the MAC reconciliation logic 16 that an error has been detected in the received frame.
  • Receive Error can occur at any time during normal frame reception; i.e. when Receive Data Valid is active and the PCS 18 is responsible for signaling an error within that frame, although the position of the error within the frame is not defined.
  • Use of the Receive Error signal during idle is reserved for in-band communication between the MAC 14 and the PCS layer 18 .
  • RX_CLK+ and RX_CLK ⁇ comprise a continuous differential receive clock, generated by the PCS layer 18 , and is used to transfer RXD, RX_DV ⁇ 1:0>and RX_ER to the MAC reconciliation logic 16 .
  • sampling occurs on the rising edge of RX_CLK+.
  • the clock is nominally running at 156.25 MHz in the illustrated implementation.
  • the RX clock is derived from the received data streams during normal receive operation using a phase locked loop or any other suitable clock recovery technique.
  • the PCS 18 uses continuous signaling on the medium, i.e. idle characters are transmitted over the receive bus during periods when actual data is not being transmitted.
  • the RX clock is derived from a local reference clock (such as a reference or TX clock) when receive streams are not present. Transitions between the recovered clock and the local reference clock are accomplished by extending either the high or low state of the RX clock.
  • RX_DV ⁇ 1:0>and RX_ER define primary control of the Receive Data bus as shown in Table 6.
  • An idle state is provided for transmission of idle characters when the receive data bus is not carrying active data.
  • Three data valid states indicate which bytes of receive data are valid. The data valid states are valid when the RX_ER signal is deasserted.
  • the SERDES interface bus 22 includes four groups of data and control lines 22 a - 22 dd corresponding to data and control signals associated with each of four channels.
  • Each one of the four channels on the SERDES interface includes 18 data lines TX ⁇ 17:0>, two transmit clock lines TX_CLK+ and TX_CLK ⁇ , 18 receive data lines RX ⁇ 17:0>and two receive clock lines RX_CLK+ and RX_CLK ⁇ .
  • each channel 26 a - 26 d includes a differential serial data link TXD+/ ⁇ for data driven by the respective serializer within the SERDES logic 24 and a serial data link RXD+/ ⁇ for data destined for the respective deserializer within the SERDES logic 24 . While the disclosed embodiment employs differential data and clock signals, single ended drivers and receivers may be employed.
  • the transmit path through the physical coding sublayer 18 is illustrated in greater detail in FIG. 3.
  • the transmit path includes a control block 30 which is operative to decode the SMII transmit state and to control the data path contents during control symbols. Inband communications from the MAC during the inter packet gap may be decoded and separated in the control block.
  • the transmit interleave logic 32 segments the 64 bit wide data word received from the 10 gbps MAC into four sixteen-bit wide data words.
  • the bits are interleaved into the channels to give better error detection properties to the MAC CRC. More specificically, by interleaving the bits from the 64 bit wide data word across the narrower sixteen bit wide data words such that each successive bit of the wide data word is contained within a different one of the sixteen bit wide data words, burst error on any of the channels will appear as dispersed errors in the MAC data stream . Such increases the probability of error detection. Shown below are the equations which illustrate how the parallel data input within the 64 bit wide parallel data word is interleaved across and segmented into the four sixteen bit data words in the present embodiment.
  • TXPa ⁇ 15:0> ⁇ TXD60, TXD56, TXD52, TXD48, TXD44, TXD40, TXD36, TXD32, TXD28, TXD24, TXD20, TXD16, TXD12, TXD8, TXD4, TXD0>
  • TXPb ⁇ 15:0> ⁇ TXD61, TXD57, TXD53, TXD49, TXD45, TXD41, TXD37, TXD33, TXD29, TXD25, TXD21, TXD17, TXD13, TXD9, TXD5, TXD1>
  • TXPc ⁇ 15:0> ⁇ TXD62, TXD58, TXD54, TXD50, TXD46, TXD42, TXD38, TXD34, TXD30, TXD26, TXD22, TXD18, TXD14, TXD10, TXD6, TXD2>
  • TXPd ⁇ 15:0> ⁇ TXD63, TXD59, TXD55, TXD51, TXD47, TXD43, TXD39, TXD35, TXD31, TXD27, TXD23, TXD 19, TXD 15, TXD 11, TXD7, TXD3>
  • the output from the interleave logic 32 thus comprises four 16 bit parallel data words which are coupled to channel logic 34 , 36 , 38 , 40 via buses TXPa through TXPd.
  • the channel logic for each of the four channels includes scrambler logic 44 , CRC encoder logic 46 and a transmit register 48 . While the channel logic is depicted in FIG. 3 only for channel A for ease of illustration, the same logic is replicated in the remaining channels.
  • the side scrambler 44 is operative to provide DC balance, provide clock transitions to allow clock recovery at the receiver, and to spread the signal spectrum across the available bandwidth and minimize EMI.
  • the incoming data to the scrambler logic 44 is carried on the respective TXP bus and is driven by the transmit interleave logic 32 .
  • the incoming data received over the TXP bus is XORED with a sixteen bit wide output from a pseudo-random binary sequence generator as hereinafter discussed in greater detail.
  • Each of the channels 34 , 36 , 38 , 40 has a separate side scrambler 44 , which is generating the same binary sequence.
  • the sequence generated in each channel is offset in time, so that channels are de-correlated locally in time.
  • decorrelation is achieved over +/ ⁇ 2.9 us, using a pseudo-random binary sequence (PRBS15 sequence), which serves to de-correlate Near End Crosstalk (NEXT) and Far End Crosstalk (FEXT) contributions from other channels.
  • PRBS15 sequence pseudo-random binary sequence
  • the time offset of the sequences in the respective channels is achieved by loading different seeds in each channel at startup.
  • Separate side scramblers for each channel provide the benefit of keeping global interconnects low while providing a more scalable architecture.
  • a centralized scrambler may be employed.
  • the channel logic also includes CRC Encoder logic 46 which is employed to generate two bits from the side scrambler 44 output.
  • the two bits generated by the CRC encoder logic are used by the receive logic to acquire word alignment and inter-channel skew alignment as hereinafter discussed.
  • a pseudo random binary sequence of length 15 was chosen to allow receiver synchronization within one Idle transmission period.
  • Data in each channel is defined to be constant at either 0 ⁇ 00 or 0 ⁇ FF during an Idle transmission so the 15 bit seed can be recovered completely within a 16-bit word.
  • Two PRBS 15 sequences are employed which are referred to herein as the primary and secondary sequences.
  • the receiver waveform can be de-correlated from the transmitter NEXT if the transmit logic at both ends of the link are using different pseudo-random sequences.
  • the selection of the sequence to be employed at each end of the link may be accomplished in a number of ways.
  • the primary and secondary sequences may be established out of band via a hub. Alternatively, transmission in one direction may be established first using one of the sequences and transmission then established in the opposing direction using the other one of the sequences.
  • the two generator polynomials used for the primary and secondary PRBS15 sequences are:
  • M(x) denotes the relative starting position in the maximum length sequence.
  • the 15 bit secondary seeds to start up a four-channel transmitter are as follows:
  • M(x) denotes the relative starting position in the maximum length sequence.
  • the scrambler is described below with respect to the use of the primary seed and primary feedback logic. Operation is the same when utilizing the secondary with the secondary feedback logic noting that the starting seed values differ for the respective channels and the feedback equations differ so that de-correlation is maintained to minimize Far End Crosstalk on the serial data channels.
  • the bit seed value for the respective channel is stored within the seed register 42 at startup.
  • one seed register 42 is provided for each one of the side scramblers and a different seed value (S A , S B , S C , S D ) is stored within each one of the registers.
  • the seed value is passed through a multiplexer 52 and stored within a pseudo-random binary sequence (PRBS) register 52 .
  • PRBS pseudo-random binary sequence
  • the output of the PRBS Register 52 on the bus X ⁇ 15:0> is exclusive or'd (XORed) with the 16 bit parallel data received over the TXP bus (TXP ⁇ 15:0) by XOR gates 58 to generate cipher data on the TXC bus (TXC ⁇ 15:0).
  • the output from the PRBS Register 52 may or may not be valid. Since the primary and secondary logic 54 , 56 generates the next sixteen bit pseudo-random sequence values based upon the low order fifteen bits from the PRBS Register 52 , after the first cycle, the correct sequence value is stored within the PRBS Register. Alternatively, a sixteen bit seed value may be stored within the seed register 42 for each channel so that the correct output within the pseudo-random binary sequence is obtained during the initial cycle as well as all subsequent cycles.
  • the output of the PRBS Register 52 is applied to the inputs of the primary feedback logic 52 and the secondary feedback logic 56 .
  • the outputs the primary feedback logic 54 and the secondary feedback logic 56 are coupled to inputs of the multiplexer 50 .
  • the primary feedback logic generates the next 16 bit pseudo-random binary sequence which is clocked into the PRBS Register 52 via the mulitplexer 50 .
  • the new pseudo-random binary sequence stored within the PRBS Register 52 is coupled to the XOR gates 58 via bus X ⁇ 15:0>and is XORed with the next data word received over the TXP bus (TXP ⁇ 15:0>) to produce the next 16 bit parallel word of encoded cipher data. This process is repeated for each subsequent word on the TXP bus.
  • the cipher data output from the Scrambler 44 is coupled to CRC encoder logic 46 via the TXC bus.
  • the bits corresponding to TXC ⁇ 15:0> are passed unchanged to the TX register 48 TXa bus over lines TXa ⁇ 15:0>in the Channel A logic 34 .
  • the CRC Block Encoder 46 generates two bits, R 0 and R 1 , from the 16-bit scrambled word received from the scrambler 44 .
  • the R0 bit for Channel A is designated R0a and the R1 bit for Channel A is designated as R1a as illustrated in FIG. 3.
  • the bits for the remaining channels are designated in a similar manner reflecting their channel association.
  • the two bits are generated using a CRC algorithm.
  • the R0 bit is added directly to the channel data stream as TX15 and is employed by the receive logic to obtain word alignment.
  • the R1 bit is further encoded with control information and is transmitted in a channel other than the one containing the cipher data from which it was derived.
  • Skew alignment and data valid information are decoded from the R1 bits received by the channel reaceive and control logic. More specifically, the R1 bits are encoded with Data Valid information corresponding to the TX_EN ⁇ 1:0> signals as hereinsfter described.
  • the R0 bit is a function of the 16-bit input word, so the receiver can search for R0 in the recovered stream to obtain correct 18-bit word alignment.
  • the R0 check at the receive logic permits the detection of word misalignment.
  • R0 is calculated so as to assure at least one transition within within each 18-bit word.
  • the worst case run length is 0 ⁇ 00001 followed by 0 ⁇ 30000, which limits the maximum run length to 33.
  • the CRC encoder logic 46 processes the received parallel data stream over signal lines TXC ⁇ 15:0> for each respective channel and generates the R0 and R1 bits.
  • the logic employed by the CRC Block Encoder 46 to generate the R0 and R1 bits for each channel are set forth below.
  • R0 !(TXC0+TXC1+TXC3+TXC4+TXC6+TXC7+TXC9+TXC10+TXC12+TXC13+TXC15);
  • R1 !(TXC0+TXC2+TXC3+TXC5+TXC6+TXC8+TXC9+TXC11+TXC12+TXC14+TXC15).
  • the R1 bit generated in the above described manner is coupled to skew/control encoder logic 50 .
  • the skew/control encoder logic 50 encodes control information with the R1 bit in each channel and rotates the resultant bit across the channels such that the encoded version of the R1 bit is not transmitted in the same serial channel as the cipher data from which the resultant bit was derived. For example, if R1 is generated in the CRC encoder logic 46 of channel 1 , after encoding with control information, the resultant bit in the illustrated embodiment is transmitted over serial channel 2 .
  • Inter-channel skew can occur due to physical path differences as well as varying delay in the deserializer framing. It is therefore necessary to provide a mechanism to correct for such inter-channel skew at the receiver.
  • the same bits that are employed to carry information employed to correct inter-channel skew also have encoded thereon control information corresponding to the idle and data valid information received over the TX_EN ⁇ 1:0> lines. More specifically, there are 4 control states that have to be transmitted across the link (Idle, Data Valid All, Data Valid High, Data Valid Low) to allow byte-wide transmissions.
  • the encoding provided by the skew/control encoder logic produces the TX ⁇ 17> bit in each channel which is added to the transmit words
  • the four control states are received from the SMII bus over the TX_EN ⁇ 1:0> lines as shown in Table 9. These signals pass through equal pipeline delay logic 35 such that the control information can be reassociated with the respective data.
  • the signals C ⁇ 1:0> thus represent versions of the TX EN ⁇ 1:0> signals which are delayed appropriately by delay logic 35 .
  • the signals C ⁇ 1:0> are coupled to the Skew/Control Encoder logic 50 as depicted in FIG. 3. TABLE 9 C0 C1 (TX_EN1) (TX_EN0) Control State 0 0 Idle 0 1 Data Valid Low 1 0 Data Valid High 1 1 Data Valid All
  • the C1 and C0 control bits are encoded with the four R1 bits from each channel (R A 1 . . . R D 1) to produce four control-encoded bits, K ⁇ 3:0>, as shown below.
  • the K3 bit represents the exclusive OR of the R1 bit generated in Channel A with the C1 bit
  • the K2 bit represents the exclusive OR of the R1 bit generated in Channel B with the C1 bit
  • the K1 bit represents the exclusive OR of the R1 bit generated in Channel C with the C0 bit
  • the K0 bit represents the exclusive OR of the R1 bit generated in Channel D with the C0 bit.
  • the code word K ⁇ 3:0>generated in the above described manner carries the control state information received over signal lines TX_EN ⁇ 1:0> and allows for the detection of any single-bit error in the R1 bits.
  • the Skew/Control Encoder logic 50 rotates the respective K bits to channels in which the R1 bits were not generated to provide a key which the receiver can use to detect and adjust for inter-channel skew.
  • the K ⁇ 3:0>code bits are rotated by one bit across the four channels and attached to the data as the TX ⁇ 17> bit in each channel, as shown in Table 10.
  • the R1 bit generated in Channel D is encoded with the C0 bit to form the K0 bit which is forwarded over signal line TXa ⁇ 17> to the TX Register 48 in Channel A for transmission over Channel A
  • the R1 bit generated in Channel A is encoded with the C1 bit to form the K3 bit which is forwarded over signal line TXb ⁇ 17> to the TX Register 48 in Channel B for transmission over Channel B
  • the R1 bit generated in Channel B is encoded with the C1 bit to form the K2 bit which is forwarded over signal line TXc ⁇ 17> to the TX Register 48 in Channel C for transmission over Channel C
  • the R1 bit generated in Channel C is encoded with the C0 bit to form the K1 bit which is forwarded over signal line TXd ⁇ 17> to the TX Register 48 in Channel D for transmission over Channel D.
  • the receiver utilizes the TX ⁇ 17> bits from the respective channels in combination to to acquire inter-channel sync. Additionally, the receiver uses the TX ⁇ 17> bits received over the respective channels to extract the control information during normal operation as hereinafter described.
  • the TX Register 48 for Channel A drives the signal lines TXa ⁇ 17:0>.
  • the signal lines TXa ⁇ 17:0> are derived from the output of the CRC encoder TXa ⁇ 15:0>.
  • the R0a bit is coupled through the TX Register 48 to form TXa ⁇ 16> and the skew/control encoder logic 50 generates the K0 signal which is coupled to the bus TXa ⁇ 17:0> via the TX Register 48 .
  • the signal lines TX ⁇ 17:0> at the output of the TX Register 48 for each of the four channels are coupled to the input to the Serializer/Deserializer logic 24 a - 26 d .
  • a differential transmit clock TX_CLK+, TL_CLK ⁇ , also driven by the physical coding sublayer 18 is also included within the SERDES bus 22 for each channel.
  • a serializer within the SERDES logic for each channel receives as an input the 18 bit parallel encoded data and serializes the data to form a serialized bit stream.
  • the serialized bit stream is transmitted from the respective serializers ( 24 a - 24 d ) over the respective communication links or channels 26 a - 26 d .
  • the serial links comprise differential signals to the driver logic 28 .
  • the serialized data are transmitted over the serial link over signal lines TXD+/ ⁇ and are received at inputs RXD+/ ⁇ from receive logic 28 which adapts the serial signals to the applicable transmission medium.
  • the receive data is converted by the deserializer from serial form to an 18 bit parallel data word within deserializer logic 24 and transmitted over the receive portion of the SERDES bus 22 to the physical coding sublayer 18 .
  • the parallel data is then processed within the receive path of the physical coding sublayer as discussed below to obtain word and skew alignment.
  • the receive path through the physical coding sublayer 18 is depicted with greater particularity in FIG. 5.
  • the receive path roughly follows the transmit path in reverse with the added complexity needed to obtain word alignment within each channel and skew alignment among the channels, and to obtain seed synchronization for the descrambler.
  • Word and skew alignment is performed in a number of steps. As the initial step in acquiring synchronization of received data, word-frame alignment within each channel is achieved using the R0 bits. The channels are then de-skewed using the received K bits and calculated R1 bits. The scrambler states are then acquired during an Idle transmission. The Bit Error Rate during acquisition is assumed to be reasonably good such that there is a high probability that correlation calculations done over 128 words will not experience an error.
  • receive channel logic 80 is depicted and described specifically for Channel A, is should be appreciated that similar receive channel logic, though not shown for ease of illustration, is provided for each of the other receive channels.
  • Word framing within each channel is acquired by checking the calculated or estimated R0 bit out of the CRC Decoder 90 against the transmitted R0 bit (RX ⁇ 16>).
  • the Word Frame Control machine 84 in each channel shifts the framing until acquisition in each channel is achieved.
  • the R0 bit is derived from the scrambled data which can be considered to have a random distribution.
  • the Word Frame Control correlates (XORs) the transmitted value against the calculated value for a predetermined number of samples to declare alignment with a low probability of false detection. More specifically, alignment may be declared if a predetermined number of matches are detected over a predetermined number of word samples.
  • ⁇ circumflex over (R) ⁇ 0 is the estimated value of R0 generated from the receiver CRC Decoder.
  • the received data for each channel when presented to the physical coding sublayer 18 is framed randomly by the de-serializer logic 24 .
  • One technique for performing word framing is depicted with greater particularity in FIG. 6.
  • the received word which is delayed in a register 120 to produce a delayed word and fed into a multiplexer 124 along with the current received word held in register 122 .
  • the multiplexer thus has access to 36 contiguous bits of the serial stream and can re-frame across the arbitrary word boundary presented at the physical coding sublayer 18 input.
  • the word frame control machine 84 uses the CRC Decoder 90 outputs to search through the 18 possible framing options until the estimated correct frame location is acquired. This framing is thus verified over a predetermined number of word samples.
  • ⁇ circumflex over (R) ⁇ 1a and ⁇ circumflex over (R) ⁇ 1b are the estimated or calculated values of R1a and R1b generated from the CRC Decoders in channels A and B respectively.
  • K2 and K3 are the encoded bit generated by the skew/control encoder 50 and transmitted in channels C and B respectively.
  • Inter-channel skew between A, B and C can be adjusted until the correct correlation occurs.
  • Inter-channel skew among channels A, B and C is adjusted until the correct correlation occurs.
  • Inter-Channel skew for the three channels is verified over a number of samples to verify to a high probability that the words in the three Channels are properly aligned.
  • the Inter-Word align control state machine 88 determines that the words in the three channels are not aligned, word framing on one of the channels is adjusted backward or forward by one word in successive steps according to a prespecified method until proper word alignment across the channels is obtained.
  • the interchannel word alignment may be adjusted by inter-word Align Control Logic 88 in any suitable manner until proper alignment across the three channels is obtained.
  • the calculated R1 bit for Channel C is exclusive ORed with the calculated R1 bit for channel D, the K0 bit transmitted over Channel A and the K1 bit transmitted over Channel D over N words.
  • the value of the above identified exclusive OR operation will be 0.
  • the word alignment of Channel D is adjusted and the verification test is repeated until alignment is achieved. For example, if the initial verification D for Channel D alignment reveals that it is not aligned, the word alignment on Channel D may be adjusted backwards by one word ( ⁇ 1 word). If the verification test for alignment on Channel D again reveals no alignment, the alignment of Channel D may be adjusted forward 1 word from its initial framing alignment and the verification test repeated. This adjustment process may be repeated until proper skew alignment for channel D is achieved.
  • FIG. 7 shows an exemplary implementation to achieve interchannel skew alignment.
  • Each channel contains a cascade of three delay registers 130 , 132 , 134 which progressively delay the receive words.
  • the number of delay stages required is a function of the possible skew that could occur during transmission through the channel and is system specific.
  • the implementation in FIG. 7 allows for an inter-channel skew of +/ ⁇ 1 word.
  • a multiplexer 136 in each channel can select the appropriate delayed word as the output and the Inter-Channel Alignment Control 88 adjusts the delays until the K bits are received correctly according to the equations above.
  • the receiver can detect when an Idle symbol is being transmitted.
  • the Idle state is defined to be 0 ⁇ 5555555555555555 on the SMII which appears as 0 ⁇ FF in channels A and C and 0 ⁇ 00 in channels B and D after interleaving.
  • the Idle is then scrambled in each channel.
  • the scrambler seed can be recovered in each channel by XORing the received cipher text, RXC ⁇ 15:0>, with either 0 ⁇ 00 or 0 ⁇ FF in the appropriate channel.
  • the pseudo random sequence state can be completely recovered in one Idle period because the sequence length is 15 and the complete state is defined in each channel's 16-bit data word.
  • the receiver can recover the data and control and use the R0 and K bits for error detection.
  • State machines can keep track of the error rate in the receiver and make a determination of when re-acquisition is required.
  • the high data rates and continuous monitoring of alignment on each symbol make error detection and re-acquisition very fast and blind to the transmitter.
  • the outputs from the four channels RXPa ⁇ 15:0>, RXPb ⁇ 15:0>, RXPc ⁇ 15:0>, RXPd ⁇ 15:0> are coupled to the receive interleave logic 106 which recombines the data to service the SMII receive bus.
  • the data from the four channels are combined by the receive interleave logic 106 as indicated below to form the original 64 bit word.
  • RXD ⁇ 63:0> ⁇ RXPd15, RXPc15, RXPb15, RXPa15, RXPd14, RXPc14, RXPb14, RXPa14, RXPd13, RXPc13, RXPb13, RXPa13, RXPd12, RXPc12, RXPb12, RXPa12, RXPd11, RXPc11, RXPb11, RXPa11, RXPd10, RXPc10, RXPb10, RXPa10, RXPd9, RXPc9, RXPb9, RXPa9, RXPd8, RXPc8, RXPb8, RXPa8, RXPd7, RXPc7, RXPb7, RXPa7, RXPd6, RXPc6, RXPb6, RXPa6, RXPd5, RXPc
  • the above described physical coding sublayer 18 may be fabricated as a single integrated circuit to minimize the circuit board real estate dedicated to the presently described data transmission and distribution functions.
  • the SERDES logic may also be integrated with the physical coding sublayer logic so that all common logic normally associated with the physical coding sublayer system is integrated in a single device. Given such integration, off chip logic would needed to interface the device to the specific media employed for the multiple serial channels and logic necessary to interface the wide parallel interface to reconciliation logic necessary to interface the device to MAC circuitry or any other desired system interface.
  • the scrambler logic may be omitted in the event decorrelation of the transmitted data is not required.
  • the control values represented by the C bits need not be encoded on the R1 bits.
  • the skew alignment bit transmitted over the serial channel comprises the R1 bits rather than control encoded versions of such bits.
  • the transmission of the R1 bits as the skew alignment bits simplifies the skew alignment process and allows alignment to proceed two channels at a time rather than three at a time as described above.
  • CRC encoding and decoding logic may be reduced by generating a single CRC code for using the single code for generation of both the word framing and skew alignment.

Abstract

A method and apparatus for transporting data over a plurality of serial channels. A plurality of parallel data word are generated from a parallel data word of greater width. The plurality of parallel data words are scrambled in a predetermined manner utilizing a side scrambler to generate a plurality of cipher data words. A first bit is generated for each channel as an exclusive OR function from the cipher data word in the respective channel. A second bit is generated for each channel as an exclusive or function of the respective cipher data word and certain control information. The first bit is appended to the cipher data word for the channel from which it was derived. The second bit is appended to the cipher data word for a channel other than the one from which it was derived. The cipher data word and the first and second bits comprise a parallel extended width information word. The extended width information words are serialized and transmitted across a plurality of serial data channels corresponding in number to the number of parallel extended width information words. Receive logic is provided for each serial channel which converts received serial data to parallel data, obtain word synchronization and achieves aligns the words received over the respective channels to assure avoid word skew misalignment across channels. The received data is descrambled and recombined in the receive logic to obtain the originally transmitted data word. Offset side scramblers are designed so as to reduce near end and far end crosstalk.

Description

    CROSS REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation application of U.S. patent application Ser. No. 09/321,448 filed May 27, 1999.[0001]
  • STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
  • N/A [0002]
  • BACKGROUND OF THE INVENTION
  • The present invention relates generally to data encoding and telecommunications and more specifically, to a physical encoding and decoding sub-layer operative to permit the reliable communication of data across a plurality of serial channels. [0003]
  • In recent years there has been an increasing desire to produce electronic products which operate at ever increasing speeds. Of particular note in this regard are telecommunications devices such as routers, bridges and switches. While typical communication line rates for such devices were 10 megabits per second (mbps) for ethernet transmissions less than a decade ago, 100 mbps ethernet line rates have now become commonplace. Moreover, devices are currently being deployed which support 1 gigabit per second (gbps) ethernet line rates. [0004]
  • Data is typically received at an input port of a telecommunications device over a high speed serial communications link. Received data is converted to a parallel word format in accordance with a specified media access control (MAC) for processing within the device. The width of the parallel data output from the MAC protocol is typically specified for the respective MAC protocol. A 10 gb ethernet protocol has been described having a MAC output in the form of a 64 bit wide data words. At such high data rates, the transport of data within the device can be problematic. [0005]
  • While data can be transported through the device as a parallel word to achieve workable clock rates, such is undesirable for a number of reasons. First, wide bus widths consume substantial space on the printed circuit boards for the numerous conductive paths which are required. Second, passing large numbers of conductive signals through backplanes requires large numbers of connector contacts. Often, it is undesirable to provide for the large number of connector contacts that are required to accommodate a 64 bit wide or greater width parallel bus. Additionally, it is recognized that interconnections through backplane connectors contribute to system unreliability and for this reason as well it is preferable to minimize the number of signal paths through backplanes and connectors. Finally, numerous integrated circuits are required in terms of drivers and receivers to interface to wide parallel buses. [0006]
  • In order to minimize the number of printed circuit board runs and backplane connections, parallel data has been segregated into narrower parallel data words and the respective words have been serialized for transmission over a plurality of serial channels. Complex techniques and/or substantial overhead in terms of signal bandwidth and circuitry have typically been necessary to accomplish synchronization and/or framing in such systems. [0007]
  • Moreover, it is desirable to be able for the receive logic to be able to be acquire synchronization of serially transmitted data “blind”; i.e. without the use of additional synchronization signal line since the transport of separate synchronization signals also adds to the number of printed circuit board runs and connector contacts that are needed. [0008]
  • It would therefore be desirable to have a data coding, decoding and transport technique which allows the transmission of data reliably through a telecommunications device without employing wide parallel buses and which permits blind acquisition of synchronization at the receiver and reassembly of the transmitted data words. [0009]
  • BRIEF SUMMARY OF THE INVENTION
  • In accordance with the present invention, a method and apparatus for transporting data over a plurality of serial channels is disclosed. A wide parallel data word is subdivided into a plurality of lesser width parallel data words in which the bits from the wide data word are interleaved across the lesser width data words. The lesser width data words are each XORed in parallel with the output of a side scrambler to decorrelate the data transmitted within each channel. The outputs of the side scrambler for each channel comprise cipher data which is decorrelated from the remaining channels to reduce near end crosstalk (NEXT) between channels. The cipher data is applied to a CRC encoder which, in the present embodiment, generates two additional bits. The two additional bits are derived from the cipher data for the respective channels. The first bit is transmitted in the same channel as the cipher data from which it was derived and is used to verify word alignment at the receive end of the respective serial channel. The second bit is used to assure inter-channel skew. The second bit is rotated across the channel, i.e. transmitted in a channel other than one containing the cipher data from which it was derived. Additionally, control information is encoded on the second bit for each of the respective channels. The control information indicates whether the data word (a) contains an idle signal, (b) contains data valid in the low order bytes, (c) contains data valid in the high order bytes, or (d) contains valid data across all of the bytes. [0010]
  • The cipher data plus the two additional bits are serialized for each channel and transmitted serially over a serial link or channel. The serial data transmitted over each channel is then deserialized within receive logic at the receive end of the respective serial channel. [0011]
  • At the receive end of the link, logic is provided to permit the acquisition of word frame alignment, to permit acquisition of inter-channel skew alignment and to obtain the proper seed for use by a descrambler associated with each channel so the cipher data can be converted back into the actual data after synchronization has been achieved. The synchronization process involves a number of steps. [0012]
  • First, word frame alignment is achieved within each channel using the first of the two additional bits transmitted over the serial link. Next, the second bit is employed to achieve inter-channel skew alignment. Once inter-channel skew alignment is achieved, the receiver can identify idle symbols transmitted over the respective link from the control information encoded on the second bits of each channel. The idle information is then XORed with the cipher data to acquire the seed for each of the channels. The parallel cipher data is then XORed in the receiver for each channel with the output of the descrambler for the respective channel using the seed acquired for each channel. The output of the descrambler corresponds to the actual data transmitted over the respective serial links prior the scrambling of such data in the transmitter. Finally, the parallel data output for each channel in the receiver is combined to form the original wide parallel data word. [0013]
  • In a preferred embodiment, a primary pseudo-random sequence generator and a secondary pseudo-random number generator is replicated in each of the scramblers and descramblers. To reduce far end crosstalk (FEXT) between receiver and transmitter signals, the transmission of data in one direction over the plurality of channels proceeds using the primary pseudo-random sequence generators and transmission of data in the opposite direction proceeds using the secondary pseudo-random sequence generators in the transmitter scramblers and the receiver descramblers. The primary and secondary pseudo-random sequence generators are selected so as to decorrelate data transmitted by transmitters in opposite directions over the serial channels.[0014]
  • BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING
  • The invention will be more fully understood by reference to the following Detailed Description of the Invention in conjunction with the drawing of which: [0015]
  • FIG. 1 is a block diagram illustrating a physical coding sublayer within a system operative in accordance with the present invention; [0016]
  • FIG. 2 is a block diagram illustrating bus signals employed in the system depicted in FIG. 1; [0017]
  • FIG. 3 is a block diagram illustrating the transmit portion of the physical coding sublayer depicted in FIGS. 1 and 2; [0018]
  • FIG. 4 is a block diagram of a side scrambler for scrambling data in each channel of the transmit portion of the physical coding sublayer; [0019]
  • FIG. 5 is a block diagram illustrating the receive logic associated with the physical coding sublayer depicted in FIGS. 1 and 2; [0020]
  • FIG. 6 is a block diagram illustrating word framing logic; and [0021]
  • FIG. 7 is a block diagram illustrating skew alignment logic.[0022]
  • DETAILED DESCRIPTION OF THE INVENTION
  • In accordance with the present invention a physical coding sublayer is disclosed which facilitates communication across multiple serial channels in short haul copper links (such as backplanes and short cable connections) and wave division multiplexing (WDM) applications (employing fiber optic media). A system incorporating the presently disclosed physical coding sublayer is illustrated in FIG. 1. Referring to FIG. 1, data is received from a host system interface over a [0023] communication link 10 at a system interface 12. The system interface is coupled to media access control (MAC) circuitry 14 and provides the interface between the host system interface and the MAC 14. The MAC 14 controls the reception and transmission of data from and to the physical layer in accordance with techniques well known in the art.
  • In the embodiment herein described, a physical coding sublayer is illustrated which supports a 10 gigabit per second (gbps) ethernet MAC. It should be noted, however, that the techniques and methods explained herein are scaleable and may be employed to support MACs having different parallel output word widths and different line rates. [0024]
  • Data and control signals provided at the output of the [0025] MAC 14 are coupled to reconciliation logic 16. The reconciliation logic 16 is coupled to the physical coding sublayer logic 18 via the scaleable media independent interface (SMII) bus interface 20. The reconciliation logic 16 serves to provide any necessary conversion between the input/output signals associated with the MAC and the signals which make up the SMII bus 20. Data is conveyed between the reconciliation logic 16 and the physical coding sublayer (PCS) 18 via transmit and receive buses, each of which comprises a wide parallel data bus. The physical coding sublayer segments the wide parallel data words received from the reconciliation logic 16 into a plurality of narrower parallel data words and encodes the respective narrower data words as hereinafter described in greater detail to form a corresponding plurality of encoded parallel data words. The encoded parallel data words are conveyed over a Serializer/Deserializer (SERDES) Interface bus 22 from the PCS 18 to a plurality of serializers within Serializer/Deserializer (SERDES) logic 24. The SERDES logic 24 converts the received encoded parallel data words into serial encoded data. A physical attachment bus 26 couples the SERDES logic 24 to the driver logic 28 for the applicable media. More specifically, the physical attachment bus 26 includes a plurality of serial data channels for carrying serialized encoded data from the SERDES logic 24 to the driver logic 28 or, in the reverse direction for carrying serial data from the driver logic 28 to the SERDES logic 24.
  • The [0026] driver logic 28 provides the appropriate electrical or electro-optical interface to a copper or fiber media, as applicable. By subdividing the wide parallel data word into a plurality of narrower parallel data words, encoding the narrower parallel data words and transmitting data contained in the plurality of narrower encoded parallel data words serially over a corresponding plurality data of serial channels, the number of printed circuit board runs are greatly reduced, significant space savings on the printed circuit board may be achieved and fewer connector contacts are needed.
  • FIG. 2 illustrates the scalable media independent interface (SMII) [0027] 20, the SERDES interface 22 and the physical attachment interface 26 in greater detail. The SMII bus 20 and the SERDES interface bus 22 each include parallel data buses and control signals. The functions of the respective signals in each of the buses are described below. The physical attachment bus 26, in the illustrated embodiment, includes four channels identified as channels 26 a-26 d respectively. Each channel includes two differential signalling pairs. One of the differential signalling pairs in each channel is employed for transmission of serial data and the other one of the differential signalling pairs in each channel is employed for reception of serial data.
  • The Scaleable Media Independent Interface (SMII) [0028] bus 20 is used to connect the reconciliation logic 16 with the PCS layer 18. In the illustrated embodiment, the data width of the parallel data word output from the MAC is 64 bits as is the width of the data word output from the reconciliation logic 16. The SMII bus 20 includes control lines (TX_EN<1:0>) which include control information that is employed to identify which bytes are idle characters or contain valid data when the full 64 bits are not valid.
  • The 64-bit bus is the standard width for the 10 GB/s encoding system. Standardization of the SMII bus interface is useful since other 10 GB/s physical interconnect technologies may be developed (such as a full rate optical interface) and accordingly, the physical coding sublayer will be reusable in different interconnect systems. [0029]
  • The [0030] SMII bus 20 includes a transmit bus 20 a comprising data and control signals driven by the reconciliation logic 16 and destined for the physical coding sublayer 18. Additionally, the SMII bus 20 includes a receive bus 20 b comprising data and control signals driven by the physical coding sublayer 18 and destined for the reconciliation logic 16.
  • The Transmit Bus [0031]
  • The transmit [0032] bus 20 a includes sixty four transmit data lines TXD <63:0>, two transmit enable lines TX_EN<1:0>, an optional TX_ER line, and TX_CLK+ and TX_CLK− lines. The functions and use of the respective transmit bus signals are described below.
  • Transmit Data, TXD<63:0>[0033]
  • The Transmit Data Bus (TXD) is used to transfer transmit data and control from the [0034] MAC reconciliation logic 16 to the PCS 18. TXD<63> is defined as the most significant bit and TXD<0> is defined as the least significant bit. Byte order is shown in Table 1 and encoding is shown in Tables 2 through 4.
    TABLE 1
    Transmit Data Bus Byte Order
    TXD TXD TXD TXD TXD TXD TXD TXD
    <63:56> <55:48> <47:40> <39:32> <31:24> <23:16> <15:8> <7:0>
    Byte 7 Byte 6 Byte 5 Byte 4 Byte 3 Byte 2 Byte 1 Byte
    0
  • Transmit Enable, TX_EN<1:0>[0035]
  • The Transmit Enable signals indicate the presence of data on the Transmit Data Bus. Two signals are employed to define bytes of valid data in either the upper or lower bytes of the Transmit Data Bus. This is required for Ethernet frames and the inter packet gap since it cannot be assured that valid data will fall on 8-byte boundaries. Four Transmit Enable states are defined: Idle (no data transmission), Data Valid All, Data Valid Low, Data Valid High. Encoding of the Transmit Enable states is shown in Tables 2 through 4. [0036]
  • Transmit Error, TX_ER [0037]
  • Transmit Error is an optional control signal that is used by the [0038] MAC reconciliation logic 16 to indicate an error to the receiving MAC with a high degree of confidence. Transmit Error can occur at any time during normal frame transmission (i.e. when Transmit Enable is active) and the PCS is responsible for signaling an error within that frame, although the position of the error within the frame is not defined.
  • Transmit Clock, TX_CLK<P:N>[0039]
  • TX_CLK is a continuous differential transmit clock, generated by the [0040] MAC reconciliation 16, and used to transfer TXD, RX_DV<1:0>and TX_ER to the PCS 18. Sampling occurs on the rising edge of TX_CLK+. This clock is nominally running at 156.25 MHz in a preferred embodiment of the 64-bit wide implementation.
  • Transmit Signal Encoding [0041]
  • TX_EN<1:0>and TX_ER signals are used to define whether idles are being carried on the the transmit data lines TXD<63:0>as shown in Table 2 and which data within the full width data word is valid. In the idle state, the transmit medium is not actively transmitting data. The three data valid states indicate which bytes of data are valid. Three undefined transmit error states are also provided which may be employed for other purposes. [0042]
    TABLE 2
    Transmit Data Bus Control Encoding
    TX_EN TX_EN
    1 0 TX_ER TXD<63:0> Description
    0 0 0 0x5555555555555555 Idle
    0 0 1 Reserved Idle on medium, reserved
    communication
    1 1 0 0x00..00 to 0xFF..FF Transmit Data Valid All
    0 1 0 See Table 3 Transmit Data Valid Low
    1 0 0 See Table 4 Transmit Data Valid High
    1 1 1 Don't Care Transmit Error
    0 1 1 Don't Care Transmit Error
    1 0 1 Don't Care Transmit Error
  • Further encoding of valid data bytes is contained within the data bus itself during the Data Valid High and Data Valid Low states. These are shown in Tables 3 and Table 4. [0043]
    TABLE 3
    Transmit Data Valid Low Encoding
    TXD TXD TXD TXD TXD
    <63:59> <58> <57> <56> <55:0> Description
    Reserved 0 0 0 Reserved Reserved
    Reserved
    0 0 1 Idle*/Data 1 byte valid, TXD<7:0>
    Reserved 0 1 0 Idle*/Data 2 bytes valid, TXD<15:0>
    Reserved 0 1 1 Idle*/Data 3 bytes valid, TXD<23:0>
    Reserved 1 0 0 Idle*/Data 4 bytes valid, TXD<31:0>
    Reserved 1 0 1 Idle*/Data 5 bytes valid, TXD<39:0>
    Reserved 1 1 0 Idle*/Data 6 bytes valid, TXD<47:0>
    Reserved 1 1 1 Idle*/Data 7 bytes valid, TXD<55:0>
  • [0044]
    TABLE 4
    Transmit Data Valid High Encoding
    TXD TXD TXD TXD TXD
    <7:3> <2> <1> <0> <55:0> Description
    Reserved 0 0 0 Reserved Reserved
    Reserved
    0 0 1 Data/Idle* 1 byte valid, TXD<63:56>
    Reserved 0 1 0 Data/Idle* 2 bytes valid, TXD<63:48>
    Reserved 0 1 1 Data/Idle* 3 bytes valid, TXD<63:40>
    Reserved 1 0 0 Data/Idle* 4 bytes valid, TXD<63:32>
    Reserved 1 0 1 Data/Idle* 5 bytes valid, TXD<63:24>
    Reserved 1 1 0 Data/Idle* 6 bytes valid, TXD<63:16>
    Reserved 1 1 1 Data/Idle* 7 bytes valid, TXD<63:8>
  • The Receive Bus [0045]
  • The receive bus is employed for data forwarding from the [0046] physical coding sublayer 18 to the reconciliation logic 16 and includes sixty four receive data lines RXD<63:0>, two RX_DV<0:1>lines, an RX_ER line, and clock lines RX_CLK+ and RX_CLK−. The function of each of the receive bus signal lines is described below.
  • Receive Data, RXD<63:0>[0047]
  • The Receive Data Bus (RXD<63:0>) is used to transfer receive data and control information from the [0048] PCS layer 18 to the MAC reconciliation logic 16. RXD<63>is defined as the most significant bit and RXD<0>is defined as the least significant bit. Byte order is shown in Table 5 and encoding is shown in Tables 6 through 8.
    TABLE 5
    Receive Data Bus Byte Order
    RXD RXD RXD RXD RXD RXD RXD RXD
    <63:56> <55:48> <47:40> <39:32> <31:24> <23:16> <15:8> <7:0>
    Byte 7 Byte 6 Byte 5 Byte 4 Byte 3 Byte 2 Byte 1 Byte
    0
  • Receive Data Valid, RX_DV<1:0>[0049]
  • The receive data valid signals RX_DV<1:0>indicate the presence of data on the receive data bus lines RXD<63:0>. The signals RX_DV<1:0>are provided to identify the bytes of valid data on the receive bus RXD<63:0>. This facility is necessary since the length of Ethernet frames and inter-packet gaps do not necessarily fall on 8-byte boundaries. Four receive states are possible: Idle (no data reception), receive data valid all, receive data valid low, receive data valid high. The encoding of Receive Data Valid signals is shown in Tables 6 through 8. [0050]
  • Receive Error, RX_ER [0051]
  • Receive Error RX_ER is used by the [0052] PCS layer 18 to signal the MAC reconciliation logic 16 that an error has been detected in the received frame. Receive Error can occur at any time during normal frame reception; i.e. when Receive Data Valid is active and the PCS 18 is responsible for signaling an error within that frame, although the position of the error within the frame is not defined. Use of the Receive Error signal during idle is reserved for in-band communication between the MAC 14 and the PCS layer 18.
  • Receive Clock, RX_CLK<P:N>[0053]
  • RX_CLK+ and RX_CLK− comprise a continuous differential receive clock, generated by the [0054] PCS layer 18, and is used to transfer RXD, RX_DV<1:0>and RX_ER to the MAC reconciliation logic 16. In a preferred embodiment, sampling occurs on the rising edge of RX_CLK+. The clock is nominally running at 156.25 MHz in the illustrated implementation.
  • The RX clock is derived from the received data streams during normal receive operation using a phase locked loop or any other suitable clock recovery technique. The [0055] PCS 18 uses continuous signaling on the medium, i.e. idle characters are transmitted over the receive bus during periods when actual data is not being transmitted. The RX clock is derived from a local reference clock (such as a reference or TX clock) when receive streams are not present. Transitions between the recovered clock and the local reference clock are accomplished by extending either the high or low state of the RX clock.
  • Receive Signal Encoding [0056]
  • RX_DV<1:0>and RX_ER define primary control of the Receive Data bus as shown in Table 6. An idle state is provided for transmission of idle characters when the receive data bus is not carrying active data. Three data valid states indicate which bytes of receive data are valid. The data valid states are valid when the RX_ER signal is deasserted. [0057]
    TABLE 6
    Receive Data Bus Control Encoding
    RX_DV1 RX_DV0 RX_ER RXD<63:0> Description
    0 0 0 0x5555555555555555 Idle
    0 0 1 Reserved Idle on medium, reserved
    communication
    1 1 0 0x00..00 to 0xFF..FF Receive Data Valid All
    0 1 0 See Table 7 Receive Data Valid Low
    1 0 0 See Table 8 Receive Data Valid High
    1 1 1 Don't Care Receive Error
    0 1 1 Don't Care Receive Error
    1 0 1 Don't Care Receive Error
  • Further encoding of valid data bytes is contained within the Receive Data bus (RXD data lines) during times when the Data Valid High and Data Valid Low states are active. These are shown in Table 7 and Table 8. [0058]
    TABLE 7
    Receive Data Valid Low Encoding
    RXD RXD RXD RXD RXD
    <63:59> <58> <57> <56> <55:0> Description
    Reserved 0 0 0 Reserved Reserved
    Reserved
    0 0 1 Idle*/Data 1 byte valid, RXD<7:0>
    Reserved 0 1 0 Idle*/Data 2 bytes valid, RXD<15:0>
    Reserved 0 1 1 Idle*/Data 3 bytes valid, RXD<23:0>
    Reserved 1 0 0 Idle*/Data 4 bytes valid, RXD<31:0>
    Reserved 1 0 1 ldle*/Data 5 bytes valid, RXD<39:0>
    Reserved 1 1 0 Idle*/Data 6 bytes valid, RXD<47:0>
    Reserved 1 1 1 Idle*/Data 7 bytes valid, RXD<55:0>
  • [0059]
    TABLE 8
    Receive Data Valid High Encoding
    RXD RXD RXD RXD RXD
    <7:3> <2> <1> <0> <55:0> Description
    Reserved 0 0 0 Reserved Reserved
    Reserved
    0 0 1 Data/Idle* 1 byte valid, RXD<63:56>
    Reserved 0 1 0 Data/Idle* 2 bytes valid, RXD<63:48>
    Reserved 0 1 1 Data/Idle* 3 bytes valid, RXD<63:40>
    Reserved 1 0 0 Data/Idle* 4 bytes valid, RXD<63:32>
    Reserved 1 0 1 Data/Idle* 5 bytes valid, RXD<63:24>
    Reserved 1 1 0 Data/Idle* 6 bytes valid, RXD<63:16>
    Reserved 1 1 1 Data/Idle* 7 bytes valid, RXD<63:8>
  • As illustrated in FIG. 2, the [0060] SERDES interface bus 22 includes four groups of data and control lines 22 a-22 dd corresponding to data and control signals associated with each of four channels. Each one of the four channels on the SERDES interface includes 18 data lines TX<17:0>, two transmit clock lines TX_CLK+ and TX_CLK−, 18 receive data lines RX<17:0>and two receive clock lines RX_CLK+ and RX_CLK−.
  • Parallel data received over the transmit buses (TX bus) by the serializers within [0061] SERDES logic 24 a-24 d respectively, is serialized for transmission over the differential serial transmit link (TXD+/−) for the corresponding channel 26 a-26 d of the physical attachment bus 26. In the present embodiment, each channel 26 a-26 d includes a differential serial data link TXD+/− for data driven by the respective serializer within the SERDES logic 24 and a serial data link RXD+/− for data destined for the respective deserializer within the SERDES logic 24. While the disclosed embodiment employs differential data and clock signals, single ended drivers and receivers may be employed.
  • The transmit path through the [0062] physical coding sublayer 18 is illustrated in greater detail in FIG. 3. The transmit path includes a control block 30 which is operative to decode the SMII transmit state and to control the data path contents during control symbols. Inband communications from the MAC during the inter packet gap may be decoded and separated in the control block.
  • The transmit [0063] interleave logic 32 segments the 64 bit wide data word received from the 10 gbps MAC into four sixteen-bit wide data words. The bits are interleaved into the channels to give better error detection properties to the MAC CRC. More specificically, by interleaving the bits from the 64 bit wide data word across the narrower sixteen bit wide data words such that each successive bit of the wide data word is contained within a different one of the sixteen bit wide data words, burst error on any of the channels will appear as dispersed errors in the MAC data stream . Such increases the probability of error detection. Shown below are the equations which illustrate how the parallel data input within the 64 bit wide parallel data word is interleaved across and segmented into the four sixteen bit data words in the present embodiment.
  • TXPa<15:0>=<TXD60, TXD56, TXD52, TXD48, TXD44, TXD40, TXD36, TXD32, TXD28, TXD24, TXD20, TXD16, TXD12, TXD8, TXD4, TXD0>[0064]
  • TXPb<15:0>=<TXD61, TXD57, TXD53, TXD49, TXD45, TXD41, TXD37, TXD33, TXD29, TXD25, TXD21, TXD17, TXD13, TXD9, TXD5, TXD1>[0065]
  • TXPc<15:0>=<TXD62, TXD58, TXD54, TXD50, TXD46, TXD42, TXD38, TXD34, TXD30, TXD26, TXD22, TXD18, TXD14, TXD10, TXD6, TXD2>[0066]
  • TXPd<15:0>=<TXD63, TXD59, TXD55, TXD51, TXD47, TXD43, TXD39, TXD35, TXD31, TXD27, TXD23, TXD 19, [0067] TXD 15, TXD 11, TXD7, TXD3>
  • The output from the [0068] interleave logic 32 thus comprises four 16 bit parallel data words which are coupled to channel logic 34, 36, 38, 40 via buses TXPa through TXPd.
  • The channel logic for each of the four channels includes [0069] scrambler logic 44, CRC encoder logic 46 and a transmit register 48. While the channel logic is depicted in FIG. 3 only for channel A for ease of illustration, the same logic is replicated in the remaining channels.
  • Scrambler Operation [0070]
  • The [0071] side scrambler 44 is operative to provide DC balance, provide clock transitions to allow clock recovery at the receiver, and to spread the signal spectrum across the available bandwidth and minimize EMI. The incoming data to the scrambler logic 44 is carried on the respective TXP bus and is driven by the transmit interleave logic 32. The incoming data received over the TXP bus is XORED with a sixteen bit wide output from a pseudo-random binary sequence generator as hereinafter discussed in greater detail.
  • Each of the [0072] channels 34, 36, 38, 40 has a separate side scrambler 44, which is generating the same binary sequence. The sequence generated in each channel, however, is offset in time, so that channels are de-correlated locally in time. In a preferred embodiment, decorrelation is achieved over +/−2.9 us, using a pseudo-random binary sequence (PRBS15 sequence), which serves to de-correlate Near End Crosstalk (NEXT) and Far End Crosstalk (FEXT) contributions from other channels. The time offset of the sequences in the respective channels is achieved by loading different seeds in each channel at startup. Separate side scramblers for each channel provide the benefit of keeping global interconnects low while providing a more scalable architecture. Alternatively, a centralized scrambler may be employed.
  • The channel logic also includes [0073] CRC Encoder logic 46 which is employed to generate two bits from the side scrambler 44 output. The two bits generated by the CRC encoder logic are used by the receive logic to acquire word alignment and inter-channel skew alignment as hereinafter discussed.
  • In the present embodiment, a pseudo random binary sequence of [0074] length 15 was chosen to allow receiver synchronization within one Idle transmission period. Data in each channel is defined to be constant at either 0×00 or 0×FF during an Idle transmission so the 15 bit seed can be recovered completely within a 16-bit word.
  • Two [0075] PRBS 15 sequences are employed which are referred to herein as the primary and secondary sequences. The receiver waveform can be de-correlated from the transmitter NEXT if the transmit logic at both ends of the link are using different pseudo-random sequences. The selection of the sequence to be employed at each end of the link may be accomplished in a number of ways. The primary and secondary sequences may be established out of band via a hub. Alternatively, transmission in one direction may be established first using one of the sequences and transmission then established in the opposing direction using the other one of the sequences.
  • The two generator polynomials used for the primary and secondary PRBS15 sequences are: [0076]
  • G P(x)=1+x 14 +x 15  (Primary generator)
  • G S(x)=1+x 11 +x 15  (Secondary generator)
  • These sequences have known linear feedback shift register (LFSR) implementations. The high speed and parallel nature of the [0077] PCS 18 employs a 16-bit parallel implementation so as to be able to generate 16 bits per cycle which may be XORed with the incoming data received over the TXP bus. The Side Scrambler 44 is depicted in greater detail in FIG. 4.
  • The feedback equations describing the [0078] primary feedback logic 54 are shown below.
  • XPnext0=X1+X2; [0079]
  • XPnext1=X2+X3; [0080]
  • XPnext2=X3+X4; [0081]
  • XPnext3=X4+X5; [0082]
  • XPnext4=X5+X6; [0083]
  • XPnext5=X6+X7; [0084]
  • XPnext6=X7+X8; [0085]
  • XPnext7=X8+X9; [0086]
  • XPnext8=X9+X10; [0087]
  • XPnext9=X10+X11; [0088]
  • XPnext10=X1I+X12; [0089]
  • XPnext11=X12+X13; [0090]
  • XPnext12=X13+X14; [0091]
  • XPnext13=X0+X1+X14; [0092]
  • XPnext14=X0+X2; [0093]
  • XPnext15=X1+X3; [0094]
  • The “+” signs in the above identified equations indicate exclusive or operations. [0095]
  • The 15 bit primary seeds to start up a four-channel transmitter up are as follows: [0096]
  • S[0097] A=0×7FFF (M(0))
  • S[0098] B=0×7F00 (M(½))
  • S[0099] C=0×70FF (M(¼))
  • S[0100] D=0×780F (M(¾))
  • To provide the full sixteen bit seed during the initial cycle, the following 16 bit seeds may be employed. [0101]
  • S[0102] A=0×7FFF (M(0))
  • S[0103] B=0×7F00 (M(½))
  • S[0104] C=0×70FF (M(½))
  • S[0105] D=0×780F (M(¾))
  • Where M(x) denotes the relative starting position in the maximum length sequence. [0106]
  • Similarly, the feedback equations for the secondary sequence are as shown below. [0107]
  • XSnext0=X1+X5; [0108]
  • XSnext1=X2+X6; [0109]
  • XSnext2=X3+X7; [0110]
  • XSnext3=X4+X8; [0111]
  • XSnext4=X5+X9; [0112]
  • XSnext5=X6+X10; [0113]
  • XSnext6=X7+X11; [0114]
  • XSnext7=X8+X12; [0115]
  • XSnext8=X9+X13; [0116]
  • XSnext9=X10+X14; [0117]
  • XSnext10=X0+X4+X11; [0118]
  • XSnext11=X1+X5+X12; [0119]
  • XSnext12=X2+X6+X13; [0120]
  • XSnext13=X3+X7+X14; [0121]
  • XSnext14==X0+X8; [0122]
  • XSnext15=X1+X9; [0123]
  • The 15 bit secondary seeds to start up a four-channel transmitter are as follows: [0124]
  • S[0125] A=0×7FFF (M(0))
  • S[0126] B=0×00CC (M(½))
  • S[0127] C=0×0AAA (M(¼))
  • S[0128] D=0×0008 (M(¾))
  • To provide the full sixteen bit seed during the initial cycle, the following seed values may be employed: [0129]
  • S[0130] A=0×7FFF (M(0))
  • S[0131] B=0×00CC (M(½))
  • S[0132] C=0×0AAA (M(¼))
  • S[0133] D=0×0008 (M(¾))
  • Where M(x) denotes the relative starting position in the maximum length sequence. [0134]
  • It should be appreciated that other suitable starting seeds may be employed for both the primary and the secondary pseudo-random sequence generators. [0135]
  • The scrambler is described below with respect to the use of the primary seed and primary feedback logic. Operation is the same when utilizing the secondary with the secondary feedback logic noting that the starting seed values differ for the respective channels and the feedback equations differ so that de-correlation is maintained to minimize Far End Crosstalk on the serial data channels. [0136]
  • The bit seed value for the respective channel is stored within the [0137] seed register 42 at startup. In a preferred embodiment, one seed register 42 is provided for each one of the side scramblers and a different seed value (SA, SB, SC, SD) is stored within each one of the registers. The seed value is passed through a multiplexer 52 and stored within a pseudo-random binary sequence (PRBS) register 52. The output of the PRBS Register 52 on the bus X<15:0>is exclusive or'd (XORed) with the 16 bit parallel data received over the TXP bus (TXP<15:0) by XOR gates 58 to generate cipher data on the TXC bus (TXC<15:0). It is noted that during the first cycle, if only a fifteen bit seed is employed, the output from the PRBS Register 52 may or may not be valid. Since the primary and secondary logic 54, 56 generates the next sixteen bit pseudo-random sequence values based upon the low order fifteen bits from the PRBS Register 52, after the first cycle, the correct sequence value is stored within the PRBS Register. Alternatively, a sixteen bit seed value may be stored within the seed register 42 for each channel so that the correct output within the pseudo-random binary sequence is obtained during the initial cycle as well as all subsequent cycles.
  • The output of the [0138] PRBS Register 52 is applied to the inputs of the primary feedback logic 52 and the secondary feedback logic 56. The outputs the primary feedback logic 54 and the secondary feedback logic 56 are coupled to inputs of the multiplexer 50.
  • Assuming again that the primary feedback logic is being employed, the primary feedback logic generates the next 16 bit pseudo-random binary sequence which is clocked into the [0139] PRBS Register 52 via the mulitplexer 50. The new pseudo-random binary sequence stored within the PRBS Register 52 is coupled to the XOR gates 58 via bus X<15:0>and is XORed with the next data word received over the TXP bus (TXP<15:0>) to produce the next 16 bit parallel word of encoded cipher data. This process is repeated for each subsequent word on the TXP bus. As illustrated in FIG. 3, The cipher data output from the Scrambler 44 is coupled to CRC encoder logic 46 via the TXC bus. The bits corresponding to TXC<15:0>are passed unchanged to the TX register 48 TXa bus over lines TXa<15:0>in the Channel A logic 34.
  • CRC Block Encoder [0140]
  • The [0141] CRC Block Encoder 46 generates two bits, R0 and R1, from the 16-bit scrambled word received from the scrambler 44. The R0 bit for Channel A is designated R0a and the R1 bit for Channel A is designated as R1a as illustrated in FIG. 3. The bits for the remaining channels (not shown) are designated in a similar manner reflecting their channel association. The two bits are generated using a CRC algorithm. The R0 bit is added directly to the channel data stream as TX15 and is employed by the receive logic to obtain word alignment. The R1 bit is further encoded with control information and is transmitted in a channel other than the one containing the cipher data from which it was derived. Skew alignment and data valid information are decoded from the R1 bits received by the channel reaceive and control logic. More specifically, the R1 bits are encoded with Data Valid information corresponding to the TX_EN<1:0> signals as hereinsfter described. The R0 bit is a function of the 16-bit input word, so the receiver can search for R0 in the recovered stream to obtain correct 18-bit word alignment. The R0 check at the receive logic permits the detection of word misalignment. R0 is calculated so as to assure at least one transition within within each 18-bit word. The worst case run length is 0×00001 followed by 0×30000, which limits the maximum run length to 33.
  • The [0142] CRC encoder logic 46 processes the received parallel data stream over signal lines TXC<15:0> for each respective channel and generates the R0 and R1 bits. The logic employed by the CRC Block Encoder 46 to generate the R0 and R1 bits for each channel are set forth below.
  • R0)=!(TXC0+TXC1+TXC3+TXC4+TXC6+TXC7+TXC9+TXC10+TXC12+TXC13+TXC15); [0143]
  • R1=!(TXC0+TXC2+TXC3+TXC5+TXC6+TXC8+TXC9+TXC11+TXC12+TXC14+TXC15). [0144]
  • The “+” signs in the above equations indicate exclusive OR functions. The “!” symbol in the above logic equations indicates an inversion. The resultant word and skew alignment bits generated in the above-described manner are inverted both in the transmit path and the receive path in order to assure at least one transition over the serial link for each word transmitted to facilitate clock recovery within the receive logic. These equations can be implemented in 4 levels of 2-input XOR gates, which can operate at high speed [0145]
  • Skew/Control Encoder [0146]
  • The R1 bit generated in the above described manner is coupled to skew/[0147] control encoder logic 50. The skew/control encoder logic 50 encodes control information with the R1 bit in each channel and rotates the resultant bit across the channels such that the encoded version of the R1 bit is not transmitted in the same serial channel as the cipher data from which the resultant bit was derived. For example, if R1 is generated in the CRC encoder logic 46 of channel 1, after encoding with control information, the resultant bit in the illustrated embodiment is transmitted over serial channel 2.
  • Inter-channel skew can occur due to physical path differences as well as varying delay in the deserializer framing. It is therefore necessary to provide a mechanism to correct for such inter-channel skew at the receiver. To minimize overhead, the same bits that are employed to carry information employed to correct inter-channel skew also have encoded thereon control information corresponding to the idle and data valid information received over the TX_EN<1:0> lines. More specifically, there are 4 control states that have to be transmitted across the link (Idle, Data Valid All, Data Valid High, Data Valid Low) to allow byte-wide transmissions. The encoding provided by the skew/control encoder logic produces the TX<17> bit in each channel which is added to the transmit words [0148]
  • The four control states are received from the SMII bus over the TX_EN<1:0> lines as shown in Table 9. These signals pass through equal [0149] pipeline delay logic 35 such that the control information can be reassociated with the respective data. The signals C<1:0> thus represent versions of the TX EN<1:0> signals which are delayed appropriately by delay logic 35. The signals C<1:0> are coupled to the Skew/Control Encoder logic 50 as depicted in FIG. 3.
    TABLE 9
    C0
    C1 (TX_EN1) (TX_EN0) Control State
    0 0 Idle
    0 1 Data Valid Low
    1 0 Data Valid High
    1 1 Data Valid All
  • In the four-channel implementation, the C1 and C0 control bits are encoded with the four R1 bits from each channel ([0150] R A1 . . . RD1) to produce four control-encoded bits, K<3:0>, as shown below.
  • K3=[0151] R A1+C1
  • K2=[0152] R B1+C1
  • K1=[0153] R C1+C0
  • K0=[0154] R D1+C0
  • Thus, the K3 bit represents the exclusive OR of the R1 bit generated in Channel A with the C1 bit, the K2 bit represents the exclusive OR of the R1 bit generated in Channel B with the C1 bit, the K1 bit represents the exclusive OR of the R1 bit generated in Channel C with the C0 bit and the K0 bit represents the exclusive OR of the R1 bit generated in Channel D with the C0 bit. The code word K<3:0>generated in the above described manner carries the control state information received over signal lines TX_EN<1:0> and allows for the detection of any single-bit error in the R1 bits. [0155]
  • The Skew/[0156] Control Encoder logic 50 rotates the respective K bits to channels in which the R1 bits were not generated to provide a key which the receiver can use to detect and adjust for inter-channel skew. In the present implementation, the K<3:0>code bits are rotated by one bit across the four channels and attached to the data as the TX<17> bit in each channel, as shown in Table 10.
    TABLE 10
    TX17 Control Encoding
    TX17 Control
    Bits Encoding
    TXa<17> K0=R D1 + C0
    TXb<17> K3=R A1 + C1
    TXc<17> K2=R B1 + C1
    TXd<17> K1=R C1 + C0
  • As illustrated by Table 10 and FIG. 3, the R1 bit generated in Channel D is encoded with the C0 bit to form the K0 bit which is forwarded over signal line TXa<17> to the [0157] TX Register 48 in Channel A for transmission over Channel A, the R1 bit generated in Channel A is encoded with the C1 bit to form the K3 bit which is forwarded over signal line TXb<17> to the TX Register 48 in Channel B for transmission over Channel B, the R1 bit generated in Channel B is encoded with the C1 bit to form the K2 bit which is forwarded over signal line TXc<17> to the TX Register 48 in Channel C for transmission over Channel C and the R1 bit generated in Channel C is encoded with the C0 bit to form the K1 bit which is forwarded over signal line TXd<17> to the TX Register 48 in Channel D for transmission over Channel D.
  • The receiver utilizes the TX<17> bits from the respective channels in combination to to acquire inter-channel sync. Additionally, the receiver uses the TX<17> bits received over the respective channels to extract the control information during normal operation as hereinafter described. [0158]
  • The [0159] TX Register 48 for Channel A drives the signal lines TXa<17:0>. The signal lines TXa<17:0> are derived from the output of the CRC encoder TXa<15:0>. The R0a bit is coupled through the TX Register 48 to form TXa<16> and the skew/control encoder logic 50 generates the K0 signal which is coupled to the bus TXa<17:0> via the TX Register 48.
  • The signal lines TX<17:0> at the output of the [0160] TX Register 48 for each of the four channels are coupled to the input to the Serializer/Deserializer logic 24 a-26 d. A differential transmit clock TX_CLK+, TL_CLK−, also driven by the physical coding sublayer 18, is also included within the SERDES bus 22 for each channel. A serializer within the SERDES logic for each channel receives as an input the 18 bit parallel encoded data and serializes the data to form a serialized bit stream. The serialized bit stream is transmitted from the respective serializers (24 a-24 d) over the respective communication links or channels 26 a-26 d. In the illustrated embodiment, the serial links comprise differential signals to the driver logic 28.
  • The serialized data are transmitted over the serial link over signal lines TXD+/− and are received at inputs RXD+/− from receive [0161] logic 28 which adapts the serial signals to the applicable transmission medium. The receive data is converted by the deserializer from serial form to an 18 bit parallel data word within deserializer logic 24 and transmitted over the receive portion of the SERDES bus 22 to the physical coding sublayer 18. The parallel data is then processed within the receive path of the physical coding sublayer as discussed below to obtain word and skew alignment.
  • Receive Path [0162]
  • The receive path through the [0163] physical coding sublayer 18 is depicted with greater particularity in FIG. 5. The receive path roughly follows the transmit path in reverse with the added complexity needed to obtain word alignment within each channel and skew alignment among the channels, and to obtain seed synchronization for the descrambler.
  • Word and skew alignment is performed in a number of steps. As the initial step in acquiring synchronization of received data, word-frame alignment within each channel is achieved using the R0 bits. The channels are then de-skewed using the received K bits and calculated R1 bits. The scrambler states are then acquired during an Idle transmission. The Bit Error Rate during acquisition is assumed to be reasonably good such that there is a high probability that correlation calculations done over 128 words will not experience an error. [0164]
  • Although the receive [0165] channel logic 80 is depicted and described specifically for Channel A, is should be appreciated that similar receive channel logic, though not shown for ease of illustration, is provided for each of the other receive channels.
  • Receiver Word Frame Alignment [0166]
  • The apparatus and techniques for performing word framing are illustrated in FIGS. 5 and 6. Word framing within each channel, is acquired by checking the calculated or estimated R0 bit out of the [0167] CRC Decoder 90 against the transmitted R0 bit (RX<16>). The Word Frame Control machine 84 in each channel shifts the framing until acquisition in each channel is achieved. The R0 bit is derived from the scrambled data which can be considered to have a random distribution. The Word Frame Control correlates (XORs) the transmitted value against the calculated value for a predetermined number of samples to declare alignment with a low probability of false detection. More specifically, alignment may be declared if a predetermined number of matches are detected over a predetermined number of word samples. n = 1 N R ^ 0 n + R0 n = 0
    Figure US20040022238A1-20040205-M00001
  • Where {circumflex over (R)}0 is the estimated value of R0 generated from the receiver CRC Decoder. The probability of false alignment is 3E-39 if the calculation is done over 128 words (N=128) and the scrambled data is random. [0168]
  • The received data for each channel when presented to the [0169] physical coding sublayer 18 is framed randomly by the de-serializer logic 24. One technique for performing word framing is depicted with greater particularity in FIG. 6. The received word which is delayed in a register 120 to produce a delayed word and fed into a multiplexer 124 along with the current received word held in register 122. The multiplexer thus has access to 36 contiguous bits of the serial stream and can re-frame across the arbitrary word boundary presented at the physical coding sublayer 18 input. The word frame control machine 84 uses the CRC Decoder 90 outputs to search through the 18 possible framing options until the estimated correct frame location is acquired. This framing is thus verified over a predetermined number of word samples.
  • Receiver Inter-Channel Alignment [0170]
  • Once word framing is achieved in all channels the bits are assumed to be correct into the [0171] Control Decoder 92 and Inter-Channel alignment can proceed. There are several methods of proceeding but the approach outlined below aligns channels A, B and C before aligning D. In a similar process to that used in word framing, correlation of the bits to the data can be checked and any control data discarded. n = 1 N R ^ 1 a n + R ^ 1 b n + K2 n + K3 n = 0 n = 1 N R ^ 1 a n + R ^ 1 b n + R 1 b n + C1 n + R1a n + C1 n = 0 n = 1 N ( R ^ 1 a n + R 1 a n ) + ( R ^ 1 b n + R 1 b n ) = 0
    Figure US20040022238A1-20040205-M00002
  • Where {circumflex over (R)}1a and {circumflex over (R)}1b are the estimated or calculated values of R1a and R1b generated from the CRC Decoders in channels A and B respectively. K2 and K3 are the encoded bit generated by the skew/[0172] control encoder 50 and transmitted in channels C and B respectively.
  • Inter-channel skew between A, B and C can be adjusted until the correct correlation occurs. Inter-channel skew among channels A, B and C is adjusted until the correct correlation occurs. Inter-Channel skew for the three channels is verified over a number of samples to verify to a high probability that the words in the three Channels are properly aligned. In the event the Inter-Word align [0173] control state machine 88 determines that the words in the three channels are not aligned, word framing on one of the channels is adjusted backward or forward by one word in successive steps according to a prespecified method until proper word alignment across the channels is obtained. The interchannel word alignment may be adjusted by inter-word Align Control Logic 88 in any suitable manner until proper alignment across the three channels is obtained. One exemplary approach in Table 11 below.
    Channel Step 0 1 2 3 4 5 6 7 8
    A 0 0 0 0 0 0 0 0 0
    B 0 −1 +1 0 0 −1 −1 +1 +1
    C 0 0 0 −1 +1 −1 +1 −1 +1
  • Table 11
  • While the above table illustrates steps within channel B and C for −1 word and +1 word skew adjustments, the table may be extended to −2 and +2 word skew adjustments or as far as necessary to assure that any possible skew adjustments can be accommodated within a given system. [0174]
  • After obtaining alignment of channels A, B and C in the above described manner, a similar calculation can be performed by the inter word align [0175] controller 88 to assure that channel D is properly aligned with channels A, B and C. The logic necessary to perform such verification is illustrated by the following logic equations. n = 1 N R ^ 1 c n + R ^ 1 d n + K0 n + K1 n = 0 n = 1 N R ^ 1 c n + R ^ 1 d n + R 1 c n + C0 n + R1d n + C0 n = 0 n = 1 N ( R ^ 1 c n + R 1 c n ) + ( R ^ 1 d n + R 1 d n ) = 0
    Figure US20040022238A1-20040205-M00003
  • In particular, the calculated R1 bit for Channel C is exclusive ORed with the calculated R1 bit for channel D, the K0 bit transmitted over Channel A and the K1 bit transmitted over Channel D over N words. As illustrated by the logic equations above, when channel D is properly aligned with Channels A, B, and D the value of the above identified exclusive OR operation will be 0. By repeating the verification over a predetermined number of sample words, alignment of channels A, C and D can be assured to an extremely high probability. [0176]
  • In the event the test of Channel D alignment reveals that it is not aligned with the other two channels included in the exclusive OR operation, the word alignment of Channel D is adjusted and the verification test is repeated until alignment is achieved. For example, if the initial verification D for Channel D alignment reveals that it is not aligned, the word alignment on Channel D may be adjusted backwards by one word (−1 word). If the verification test for alignment on Channel D again reveals no alignment, the alignment of Channel D may be adjusted forward 1 word from its initial framing alignment and the verification test repeated. This adjustment process may be repeated until proper skew alignment for channel D is achieved. [0177]
  • FIG. 7 shows an exemplary implementation to achieve interchannel skew alignment. Each channel contains a cascade of three [0178] delay registers 130, 132, 134 which progressively delay the receive words. The number of delay stages required is a function of the possible skew that could occur during transmission through the channel and is system specific. The implementation in FIG. 7 allows for an inter-channel skew of +/−1 word. A multiplexer 136 in each channel can select the appropriate delayed word as the output and the Inter-Channel Alignment Control 88 adjusts the delays until the K bits are received correctly according to the equations above.
  • Receiver Scrambler Acquisition [0179]
  • Once word and skew alignment is achieved, the receiver can detect when an Idle symbol is being transmitted. The Idle state is defined to be 0×5555555555555555 on the SMII which appears as 0×FF in channels A and C and 0×00 in channels B and D after interleaving. The Idle is then scrambled in each channel. The scrambler seed can be recovered in each channel by XORing the received cipher text, RXC<15:0>, with either 0×00 or 0×FF in the appropriate channel. The pseudo random sequence state can be completely recovered in one Idle period because the sequence length is 15 and the complete state is defined in each channel's 16-bit data word. [0180]
  • Receiver Error Detection [0181]
  • Once the receiver has acquired complete lock (as described in the above described acquisition process) with a high degree of certainty, the receiver can recover the data and control and use the R0 and K bits for error detection. State machines can keep track of the error rate in the receiver and make a determination of when re-acquisition is required. The high data rates and continuous monitoring of alignment on each symbol make error detection and re-acquisition very fast and blind to the transmitter. [0182]
  • The Receive Interleaver [0183]
  • The outputs from the four channels RXPa<15:0>, RXPb<15:0>, RXPc<15:0>, RXPd<15:0> are coupled to the receive [0184] interleave logic 106 which recombines the data to service the SMII receive bus. The data from the four channels are combined by the receive interleave logic 106 as indicated below to form the original 64 bit word.
  • RXD<63:0>=<RXPd15, RXPc15, RXPb15, RXPa15, RXPd14, RXPc14, RXPb14, RXPa14, RXPd13, RXPc13, RXPb13, RXPa13, RXPd12, RXPc12, RXPb12, RXPa12, RXPd11, RXPc11, RXPb11, RXPa11, RXPd10, RXPc10, RXPb10, RXPa10, RXPd9, RXPc9, RXPb9, RXPa9, RXPd8, RXPc8, RXPb8, RXPa8, RXPd7, RXPc7, RXPb7, RXPa7, RXPd6, RXPc6, RXPb6, RXPa6, RXPd5, RXPc5, RXPb5, RXPa5, RXPd4, RXPc4, RXPb4, RXPa4, RXPd3, RXPc3, RXPb3, RXPa3, RXPd2, RXPc2, RXPb2, RXPa2, RXPd1, RXPc1, RXPb1, RXPa1, RXPd0, RXPc0, RXPb0, RXPa0>[0185]
  • The 64 bit data word, the control signals originally received over the TX_EN<1:0> lines and an indication of an error condition, if any has been detected in the course of transmission over the physical coding sublayer, is forwarded by the [0186] interleave logic 106 to the receive control logic 108.
  • The above described [0187] physical coding sublayer 18 may be fabricated as a single integrated circuit to minimize the circuit board real estate dedicated to the presently described data transmission and distribution functions. Moreover, the SERDES logic may also be integrated with the physical coding sublayer logic so that all common logic normally associated with the physical coding sublayer system is integrated in a single device. Given such integration, off chip logic would needed to interface the device to the specific media employed for the multiple serial channels and logic necessary to interface the wide parallel interface to reconciliation logic necessary to interface the device to MAC circuitry or any other desired system interface.
  • It should be noted that the scrambler logic may be omitted in the event decorrelation of the transmitted data is not required. Additionally, it should be noted that in another embodiment the control values represented by the C bits need not be encoded on the R1 bits. In such event the skew alignment bit transmitted over the serial channel comprises the R1 bits rather than control encoded versions of such bits. The transmission of the R1 bits as the skew alignment bits simplifies the skew alignment process and allows alignment to proceed two channels at a time rather than three at a time as described above. Additionally, CRC encoding and decoding logic may be reduced by generating a single CRC code for using the single code for generation of both the word framing and skew alignment. [0188]
  • Finally, it will be understood by those of ordinary skill in the art that modifications to and variations of the above described methods and apparatus may be made without departing from the inventive concepts disclosed herein. Accordingly, the invention should not be viewed as limited except as by the scope and spirit of the appended claims. [0189]

Claims (2)

What is claimed is:
1. A method for transporting data across a plurality of data channels comprising:
concurrently generating a plurality of lesser width parallel data words containing parallel data from a greater width parallel data word such that all adjacent bits of said greater width parallel data word are contained in different ones of said lesser width parallel data words, wherein the number of bits in said greater width parallel data word is greater than the number of bits in each of said lesser width parallel data words;
serializing parallel data representative of said plurality of lesser width parallel data words; and
transmitting said serialized data words over a corresponding plurality of distinct serial data channels.
2. A method for transporting data across a plurality of data channels comprising:
concurrently generating a plurality of lesser width width parallel data words containing parallel data from a greater width parallel data word such that all adjacent bits of said greater width parallel data word are contained in different ones of said lesser width parallel data words, wherein the number of bits in said greater width parallel data word is greater than the number of bits in each of said lesser width parallel data words;
scrambling the parallel data in said lesser width parallel data words to form a plurality of scrambled data words;
serializing said scrambled data words; and
transmitting said serialized scrambled data words over a corresponding plurality of distinct serial data channels.
US10/620,635 1999-05-27 2003-07-16 Physical coding sub-layer for transmission of data over multi-channel media Abandoned US20040022238A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/620,635 US20040022238A1 (en) 1999-05-27 2003-07-16 Physical coding sub-layer for transmission of data over multi-channel media

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/321,448 US6618395B1 (en) 1999-05-27 1999-05-27 Physical coding sub-layer for transmission of data over multi-channel media
US10/620,635 US20040022238A1 (en) 1999-05-27 2003-07-16 Physical coding sub-layer for transmission of data over multi-channel media

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/321,448 Continuation US6618395B1 (en) 1999-05-27 1999-05-27 Physical coding sub-layer for transmission of data over multi-channel media

Publications (1)

Publication Number Publication Date
US20040022238A1 true US20040022238A1 (en) 2004-02-05

Family

ID=27788889

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/321,448 Expired - Lifetime US6618395B1 (en) 1999-05-27 1999-05-27 Physical coding sub-layer for transmission of data over multi-channel media
US10/620,635 Abandoned US20040022238A1 (en) 1999-05-27 2003-07-16 Physical coding sub-layer for transmission of data over multi-channel media

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/321,448 Expired - Lifetime US6618395B1 (en) 1999-05-27 1999-05-27 Physical coding sub-layer for transmission of data over multi-channel media

Country Status (1)

Country Link
US (2) US6618395B1 (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050108610A1 (en) * 2003-11-13 2005-05-19 Samsung Electronics Co., Ltd. Method and apparatus for bit scrambling for packet transmission/reception in a wireless communication system
US7054309B1 (en) * 2001-11-21 2006-05-30 Marvell International Ltd. Ethernet automatic fiber/copper media selection logic
US20060193346A1 (en) * 2005-02-25 2006-08-31 Mckernan Thomas W Platform architecture and method for making same
US20080010565A1 (en) * 2006-06-20 2008-01-10 Via Technologies, Inc. Data Transceiver and method thereof
US20080019389A1 (en) * 2006-07-22 2008-01-24 Cisco Technology, Inc. Multiple Channels and Flow Control Over a 10 Gigabit/Second Interface
US7324507B1 (en) 2001-11-21 2008-01-29 Marvell International Ltd. Ethernet automatic fiber/copper media selection logic
US20080183937A1 (en) * 2007-01-31 2008-07-31 Brian James Cagno Method and Apparatus to Reduce EMI Emissions Over Wide Port SAS Buses
US7729389B1 (en) * 2005-11-18 2010-06-01 Marvell International Ltd. 8/10 and 64/66 aggregation
US20100254382A1 (en) * 2007-12-21 2010-10-07 Bayerische Motoren Werke Aktiengesellschaft Communication System
US7885192B1 (en) 2005-04-01 2011-02-08 Marvell International Ltd. Generalized auto media selector
US20110268133A1 (en) * 2009-01-09 2011-11-03 Alcatel Lucent Transmission of parallel data flows on a parallel bus
US8218537B1 (en) 2008-03-24 2012-07-10 Force10 Networks, Inc. Dual signaling format switch fabric with multiplex capability
KR20140037136A (en) * 2011-05-19 2014-03-26 베이징 뉴프론트 모바일 멀티미디어 테크놀로지 씨오., 엘티디 Method and device for data transmission
US9160604B2 (en) 2013-03-12 2015-10-13 Cisco Technology, Inc. Systems and methods to explicitly realign packets
US10291386B2 (en) * 2017-09-29 2019-05-14 Cavium, Llc Serializer/deserializer (SerDes) lanes with lane-by-lane datarate independence

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI107487B (en) * 1999-03-08 2001-08-15 Nokia Mobile Phones Ltd Procedure for encrypting data transmission in a radio system
US6956852B1 (en) * 1999-06-25 2005-10-18 Cisco Technology Inc. Multi-function high-speed network interface
GB0004178D0 (en) 2000-02-22 2000-04-12 Nokia Networks Oy Integrity check in a communication system
GB0006291D0 (en) * 2000-03-15 2000-05-03 Lucent Technologies Inc Data communication link
JP3758953B2 (en) * 2000-07-21 2006-03-22 富士通株式会社 Skew correction device
US7317691B2 (en) * 2000-09-28 2008-01-08 Teridian Semiconductor, Corp. Method for initializing a link suspend device for optimum receive recovery
US6862701B2 (en) * 2001-03-06 2005-03-01 Agilent Technologies, Inc. Data communication system with self-test facility
US6965651B1 (en) * 2001-05-11 2005-11-15 Micrel, Inc. Method and apparatus for delay adjustment and channel reordering in baseband communication receiving system
JP3577717B2 (en) * 2001-05-18 2004-10-13 日本電気株式会社 Communication device, scrambler circuit and descrambler circuit, scramble method and descramble method thereof
US7061939B1 (en) 2001-06-13 2006-06-13 Juniper Networs, Inc. Source synchronous link with clock recovery and bit skew alignment
US7155128B2 (en) * 2001-12-14 2006-12-26 Nortel Networks Limited Decorrelation of WDM signals
US7167476B1 (en) 2002-04-12 2007-01-23 Juniper Networks, Inc. Systems and methods for routing data in a network device
US7020729B2 (en) * 2002-05-16 2006-03-28 Intel Corporation Protocol independent data transmission interface
KR100429911B1 (en) * 2002-05-18 2004-05-03 한국전자통신연구원 Apparatus of variable length packets multiplexing and demultiplexing and method thereby
US7343101B1 (en) * 2002-09-27 2008-03-11 Ciena Corporation Method and system for reducing crosstalk in an optical communication network
US7234097B1 (en) 2003-01-27 2007-06-19 Marvell International Ltd. Methods of supporting host CRC in data storage systems without RLL coding
US7272677B1 (en) * 2003-08-08 2007-09-18 Altera Corporation Multi-channel synchronization for programmable logic device serial interface
US7881463B1 (en) * 2003-09-26 2011-02-01 Netopia, Inc. Wireless digital subscriber line device having reduced RF interference
US7949782B2 (en) * 2003-11-06 2011-05-24 Qualcomm Incorporated Extended link monitoring channel for 10 Gb/s Ethernet
US7424040B2 (en) * 2004-05-07 2008-09-09 Ltas Holdings, Llc Communication systems and methods for transmitting data in parallel over multiple channels
US7532646B2 (en) * 2005-02-23 2009-05-12 Lattice Semiconductor Corporation Distributed multiple-channel alignment scheme
KR100762655B1 (en) * 2005-08-12 2007-10-01 삼성전자주식회사 Apparatus and method for transmitting data in a communication system
US8552891B2 (en) * 2006-05-27 2013-10-08 Samsung Electronics Co., Ltd. Method and apparatus for parallel data interfacing using combined coding and recording medium therefor
US7760836B2 (en) * 2006-08-03 2010-07-20 Avalon Microelectronics, Inc. Skew-correcting apparatus using external communications element
EP1998461A1 (en) * 2007-05-29 2008-12-03 Nokia Siemens Networks Oy Method and device for processing data and communication system comprising such device
US20090063889A1 (en) * 2007-09-05 2009-03-05 Faisal Dada Aligning data on parallel transmission lines
US7894537B2 (en) * 2007-10-01 2011-02-22 Lsi Corporation Adaptive data alignment
US9231798B2 (en) * 2007-12-20 2016-01-05 Infinera Corporation Channel skew identification and notification
US8724636B2 (en) * 2008-03-31 2014-05-13 Qualcomm Incorporated Methods of reliably sending control signal
US8276052B1 (en) * 2009-01-20 2012-09-25 Marvell International Ltd. Iterative PRBS seed recovery using soft decisions
JP2013523043A (en) 2010-03-22 2013-06-13 エルアールディシー システムズ、エルエルシー How to identify and protect the integrity of a source dataset
US8750176B2 (en) 2010-12-22 2014-06-10 Apple Inc. Methods and apparatus for the intelligent association of control symbols
US8897398B2 (en) 2012-01-27 2014-11-25 Apple Inc. Methods and apparatus for error rate estimation
US9838226B2 (en) 2012-01-27 2017-12-05 Apple Inc. Methods and apparatus for the intelligent scrambling of control symbols
GB2498937A (en) * 2012-01-31 2013-08-07 Texas Instruments Ltd A high data rate SerDes receiver arranged to receive input from a low data rate SerDes transmitter
CN102821458B (en) * 2012-08-13 2014-12-10 华为技术有限公司 Dynamic link adjustment method and link management equipment
US9450790B2 (en) 2013-01-31 2016-09-20 Apple Inc. Methods and apparatus for enabling and disabling scrambling of control symbols
US9210010B2 (en) * 2013-03-15 2015-12-08 Apple, Inc. Methods and apparatus for scrambling symbols over multi-lane serial interfaces
US8917194B2 (en) 2013-03-15 2014-12-23 Apple, Inc. Methods and apparatus for context based line coding
US9425893B1 (en) * 2013-07-31 2016-08-23 Juniper Networks, Inc. Methods and apparatus for implementing optical integrated routing with traffic protection
US9166611B2 (en) * 2013-08-27 2015-10-20 Raytheon Company Efficient high speed ADC interface design
JP2017038319A (en) * 2015-08-13 2017-02-16 富士通株式会社 Transmission system and transmission equipment
US10148597B1 (en) 2016-01-06 2018-12-04 Marvell International Ltd. Systems and methods for providing a compatible backplane operation mechanism for 2.5-gigabit high-speed ethernet
US20170222752A1 (en) * 2016-02-03 2017-08-03 Fuji Xerox Co., Ltd. Decoding device, information transmission system, decoding method, and non-transitory computer readable medium
CN105811970B (en) * 2016-04-21 2018-10-23 中国工程物理研究院激光聚变研究中心 A kind of multichannel generating system
CN108663976A (en) * 2018-06-29 2018-10-16 常州同惠电子股份有限公司 Multiple-unit whistle control system
WO2020147023A1 (en) * 2019-01-16 2020-07-23 华为技术有限公司 Method and apparatus for converting burst signals to continuous signals

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4357702A (en) * 1980-11-28 1982-11-02 C.N.R., Inc. Error correcting apparatus
US4445215A (en) * 1982-03-05 1984-04-24 Ampex Corporation Programmable frequency ratio synchronous parallel-to-serial data converter
US4486739A (en) * 1982-06-30 1984-12-04 International Business Machines Corporation Byte oriented DC balanced (0,4) 8B/10B partitioned block transmission code
US4537702A (en) * 1982-05-13 1985-08-27 Naarden International N.V. Perfume and flavoring compositions, perfumed articles and materials, and flavored food products containing an oxaspirodecadiene derivative as the essential compound, as well as the oxaspiro[4.5]decadiene derivative per se
US4593393A (en) * 1984-02-06 1986-06-03 Motorola, Inc. Quasi parallel cyclic redundancy checker
US4791639A (en) * 1986-02-18 1988-12-13 Mitel Corporation Communications switching system
US4864303A (en) * 1987-02-13 1989-09-05 Board Of Trustees Of The University Of Illinois Encoder/decoder system and methodology utilizing conservative coding with block delimiters, for serial communication
US5056087A (en) * 1989-03-10 1991-10-08 Gec Plessey Telecommunications Limited Pcm communication system
US5084891A (en) * 1989-09-08 1992-01-28 Bell Communications Research, Inc. Technique for jointly performing bit synchronization and error detection in a TDM/TDMA system
US5132975A (en) * 1989-02-16 1992-07-21 Grumman Aerospace Corporation Very high speed error detection network
US5659580A (en) * 1994-11-29 1997-08-19 Lucent Technologies Inc. Data interleaver for use with mobile communication systems and having a contiguous counter and an address twister
US5867601A (en) * 1995-10-20 1999-02-02 Matsushita Electric Corporation Of America Inverse discrete cosine transform processor using parallel processing
US5940018A (en) * 1996-12-20 1999-08-17 Electonics And Telecommunications Research Institute nB2P coding/decoding device
US5978486A (en) * 1995-06-05 1999-11-02 Matsushita Electric Industrial Co., Ltd. Data scrambling method, data scrambling apparatus, data descrambling method, and data descrambling apparatus
US20020046382A1 (en) * 1998-06-24 2002-04-18 Ganning Yang Method and apparatus for detecting and correcting errors using cyclic redundancy check
US6970435B1 (en) * 1998-06-15 2005-11-29 International Business Machines Corporation Data alignment compensator

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4357702A (en) * 1980-11-28 1982-11-02 C.N.R., Inc. Error correcting apparatus
US4445215A (en) * 1982-03-05 1984-04-24 Ampex Corporation Programmable frequency ratio synchronous parallel-to-serial data converter
US4537702A (en) * 1982-05-13 1985-08-27 Naarden International N.V. Perfume and flavoring compositions, perfumed articles and materials, and flavored food products containing an oxaspirodecadiene derivative as the essential compound, as well as the oxaspiro[4.5]decadiene derivative per se
US4486739A (en) * 1982-06-30 1984-12-04 International Business Machines Corporation Byte oriented DC balanced (0,4) 8B/10B partitioned block transmission code
US4593393A (en) * 1984-02-06 1986-06-03 Motorola, Inc. Quasi parallel cyclic redundancy checker
US4791639A (en) * 1986-02-18 1988-12-13 Mitel Corporation Communications switching system
US4864303A (en) * 1987-02-13 1989-09-05 Board Of Trustees Of The University Of Illinois Encoder/decoder system and methodology utilizing conservative coding with block delimiters, for serial communication
US5132975A (en) * 1989-02-16 1992-07-21 Grumman Aerospace Corporation Very high speed error detection network
US5056087A (en) * 1989-03-10 1991-10-08 Gec Plessey Telecommunications Limited Pcm communication system
US5084891A (en) * 1989-09-08 1992-01-28 Bell Communications Research, Inc. Technique for jointly performing bit synchronization and error detection in a TDM/TDMA system
US5659580A (en) * 1994-11-29 1997-08-19 Lucent Technologies Inc. Data interleaver for use with mobile communication systems and having a contiguous counter and an address twister
US5978486A (en) * 1995-06-05 1999-11-02 Matsushita Electric Industrial Co., Ltd. Data scrambling method, data scrambling apparatus, data descrambling method, and data descrambling apparatus
US5867601A (en) * 1995-10-20 1999-02-02 Matsushita Electric Corporation Of America Inverse discrete cosine transform processor using parallel processing
US5940018A (en) * 1996-12-20 1999-08-17 Electonics And Telecommunications Research Institute nB2P coding/decoding device
US6970435B1 (en) * 1998-06-15 2005-11-29 International Business Machines Corporation Data alignment compensator
US20020046382A1 (en) * 1998-06-24 2002-04-18 Ganning Yang Method and apparatus for detecting and correcting errors using cyclic redundancy check

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7639675B1 (en) 2001-11-21 2009-12-29 Marvell International Ltd Ethernet automatic media selection logic
US7054309B1 (en) * 2001-11-21 2006-05-30 Marvell International Ltd. Ethernet automatic fiber/copper media selection logic
US8582434B1 (en) 2001-11-21 2013-11-12 Marvell International Ltd. Generalized auto media selector
US8018923B1 (en) 2001-11-21 2011-09-13 Marvell International Ltd. Method and apparatus for establishing a link over a preferred media in an ethernet network
US7324507B1 (en) 2001-11-21 2008-01-29 Marvell International Ltd. Ethernet automatic fiber/copper media selection logic
US7907605B1 (en) 2001-11-21 2011-03-15 Marvell International Ltd. Method and apparatus for selecting a media for communication in a network
US7688812B1 (en) 2001-11-21 2010-03-30 Marvell International Ltd. Ethernet automatic media selection logic with preferred medium selector
US20050108610A1 (en) * 2003-11-13 2005-05-19 Samsung Electronics Co., Ltd. Method and apparatus for bit scrambling for packet transmission/reception in a wireless communication system
US7400607B2 (en) * 2003-11-13 2008-07-15 Samsung Electronics Co., Ltd. Method and apparatus for bit scrambling for packet transmission/reception in a wireless communication system
US8072971B2 (en) * 2005-02-25 2011-12-06 Lsi Corporation Platform architecture and method for making same
US20060193346A1 (en) * 2005-02-25 2006-08-31 Mckernan Thomas W Platform architecture and method for making same
US7885192B1 (en) 2005-04-01 2011-02-08 Marvell International Ltd. Generalized auto media selector
US7729389B1 (en) * 2005-11-18 2010-06-01 Marvell International Ltd. 8/10 and 64/66 aggregation
US8982915B1 (en) 2005-11-18 2015-03-17 Marvell International Ltd. 8/10 and 64/66 aggregation
US8451869B1 (en) 2005-11-18 2013-05-28 Marvell International Ltd. 8/10 and 64/66 aggregation
US8233507B1 (en) * 2005-11-18 2012-07-31 Marvell International Ltd. 8/10 and 64/66 aggregation
US20080010565A1 (en) * 2006-06-20 2008-01-10 Via Technologies, Inc. Data Transceiver and method thereof
US7869491B2 (en) 2006-06-20 2011-01-11 Via Technologies, Inc. Data transceiver and method thereof
US8259748B2 (en) 2006-07-22 2012-09-04 Cisco Technologies, Inc. Multiple channels and flow control over a 10 Gigabit/second interface
US20080019389A1 (en) * 2006-07-22 2008-01-24 Cisco Technology, Inc. Multiple Channels and Flow Control Over a 10 Gigabit/Second Interface
WO2008014145A3 (en) * 2006-07-22 2008-05-02 Cisco Tech Inc Multiple channels and flow control over a 10 gigabit/second interface
US8787402B2 (en) 2006-07-22 2014-07-22 Cisco Technology, Inc. Systems and methods to control flow and to define and interleave multiple channels
US20080183937A1 (en) * 2007-01-31 2008-07-31 Brian James Cagno Method and Apparatus to Reduce EMI Emissions Over Wide Port SAS Buses
US20100254382A1 (en) * 2007-12-21 2010-10-07 Bayerische Motoren Werke Aktiengesellschaft Communication System
US8493975B2 (en) * 2007-12-21 2013-07-23 Bayerische Motoren Werke Aktiengesellschaft Communication system
US8233477B1 (en) * 2008-03-24 2012-07-31 Force10 Networks, Inc. Dynamic crosstalk reduction for backplane serial channels
US8218537B1 (en) 2008-03-24 2012-07-10 Force10 Networks, Inc. Dual signaling format switch fabric with multiplex capability
US20110268133A1 (en) * 2009-01-09 2011-11-03 Alcatel Lucent Transmission of parallel data flows on a parallel bus
US8594136B2 (en) * 2009-01-09 2013-11-26 Alcatel Lucent Transmission of parallel data flows on a parallel bus
KR20140037136A (en) * 2011-05-19 2014-03-26 베이징 뉴프론트 모바일 멀티미디어 테크놀로지 씨오., 엘티디 Method and device for data transmission
KR102079265B1 (en) * 2011-05-19 2020-02-19 베이징 뉴프론트 모바일 멀티미디어 테크놀로지 씨오., 엘티디 Method and device for data transmission
US9160604B2 (en) 2013-03-12 2015-10-13 Cisco Technology, Inc. Systems and methods to explicitly realign packets
US10291386B2 (en) * 2017-09-29 2019-05-14 Cavium, Llc Serializer/deserializer (SerDes) lanes with lane-by-lane datarate independence
US10461917B2 (en) 2017-09-29 2019-10-29 Cavium, Llc Serializer/deserializer (SerDes) lanes with lane-by-lane datarate independence
US11044071B2 (en) 2017-09-29 2021-06-22 Marvell Asia Pte, Ltd. Serializer/Deserializer (SerDes) lanes with lane-by-lane datarate independence
US11757609B2 (en) 2017-09-29 2023-09-12 Marvell Asia Pte, Ltd. Serializer/deserializer (SerDes) lanes with lane-by-lane datarate independence

Also Published As

Publication number Publication date
US6618395B1 (en) 2003-09-09

Similar Documents

Publication Publication Date Title
US6618395B1 (en) Physical coding sub-layer for transmission of data over multi-channel media
US6738935B1 (en) Coding sublayer for multi-channel media with error correction
US8347199B2 (en) Enhanced error detection in multilink serdes channels
US5854840A (en) Data transmission protocol method and apparatus
US8665856B2 (en) Data processing apparatus, communication device, and data processing method
US8990653B2 (en) Apparatus and method for transmitting and recovering encoded data streams across multiple physical medium attachments
US7093172B2 (en) System and method for determining on-chip bit error rate (BER) in a communication system
US11032110B2 (en) Low power chip-to-chip bidirectional communications
US7949134B2 (en) Multiplexed multilane hybrid scrambled transmission coding
US8065584B2 (en) Transmitting data words
US7111208B2 (en) On-chip standalone self-test system and method
EP0977411B1 (en) Block code with limited disparity
US6539051B1 (en) Parallel framer and transport protocol with distributed framing and continuous data
US20100262887A1 (en) High Integrity Data Network System and Method
US20070168835A1 (en) Serial communications system and method
US7061939B1 (en) Source synchronous link with clock recovery and bit skew alignment
US7627806B1 (en) Integrated hard-wired or partly hard-wired CRC generation and/or checking architecture for a physical coding sublayer in a programmable logic device
JP3419520B2 (en) Data communication method and device
US6665825B1 (en) Cellular CDMA transmission system
US20100195835A1 (en) Link and physical coding sub-layer protocols
US6671833B2 (en) Forward error correction and framing protocol
US7876900B1 (en) Hybrid scrambled transmission coding
US5629983A (en) Parallel transmission through plurality of optical fibers
US6819683B2 (en) Communications system and associated deskewing and word framing methods
US6320872B1 (en) Serially buffered medium translator

Legal Events

Date Code Title Description
AS Assignment

Owner name: HEWLETT-PACKARD COMPANY, CALIFORNIA

Free format text: MERGER;ASSIGNOR:3COM CORPORATION;REEL/FRAME:024630/0820

Effective date: 20100428

AS Assignment

Owner name: HEWLETT-PACKARD COMPANY, CALIFORNIA

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE SEE ATTACHED;ASSIGNOR:3COM CORPORATION;REEL/FRAME:025039/0844

Effective date: 20100428

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION