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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0071—Use of interleaving
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
- H04L25/03828—Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties
- H04L25/03866—Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties using scrambling
- H04L25/03872—Parallel scrambling or descrambling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/14—Channel dividing arrangements, i.e. in which a single bit stream is divided between several baseband channels and reassembled at the receiver
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0096—Channel 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
- This application is a continuation application of U.S. patent application Ser. No. 09/321,448 filed May 27, 1999.
- N/A
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- The invention will be more fully understood by reference to the following Detailed Description of the Invention in conjunction with the drawing of which:
- 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; and
- FIG. 7 is a block diagram illustrating skew alignment logic.
- 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
communication link 10 at asystem interface 12. The system interface is coupled to media access control (MAC)circuitry 14 and provides the interface between the host system interface and theMAC 14. TheMAC 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.
- Data and control signals provided at the output of the
MAC 14 are coupled toreconciliation logic 16. Thereconciliation logic 16 is coupled to the physicalcoding sublayer logic 18 via the scaleable media independent interface (SMII)bus interface 20. Thereconciliation logic 16 serves to provide any necessary conversion between the input/output signals associated with the MAC and the signals which make up theSMII bus 20. Data is conveyed between thereconciliation 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 thereconciliation 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 thePCS 18 to a plurality of serializers within Serializer/Deserializer (SERDES)logic 24. TheSERDES logic 24 converts the received encoded parallel data words into serial encoded data. Aphysical attachment bus 26 couples theSERDES logic 24 to thedriver logic 28 for the applicable media. More specifically, thephysical attachment bus 26 includes a plurality of serial data channels for carrying serialized encoded data from theSERDES logic 24 to thedriver logic 28 or, in the reverse direction for carrying serial data from thedriver logic 28 to theSERDES logic 24. - The
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)20, the
SERDES interface 22 and thephysical attachment interface 26 in greater detail. TheSMII bus 20 and theSERDES 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. Thephysical attachment bus 26, in the illustrated embodiment, includes four channels identified aschannels 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 thereconciliation logic 16 with thePCS 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 thereconciliation logic 16. TheSMII 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 transmitbus 20 a comprising data and control signals driven by thereconciliation logic 16 and destined for thephysical coding sublayer 18. Additionally, theSMII bus 20 includes a receivebus 20 b comprising data and control signals driven by thephysical coding sublayer 18 and destined for thereconciliation logic 16. - The Transmit Bus
- 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. - Transmit Data, TXD<63:0>
- The Transmit Data Bus (TXD) is used to transfer transmit data and control from the
MAC reconciliation logic 16 to thePCS 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 3Byte 2 Byte 1Byte 0 - Transmit Enable, TX_EN<1:0>
- 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, TX_ER
- 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. - Transmit Clock, TX_CLK<P:N>
- 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 thePCS 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
- 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.
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.
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> -
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
- The receive bus is employed for data forwarding from the
physical coding sublayer 18 to thereconciliation 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>
- The Receive Data Bus (RXD<63:0>) is used to transfer receive data and control information from the
PCS layer 18 to theMAC 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 3Byte 2 Byte 1Byte 0 - Receive Data Valid, RX_DV<1:0>
- 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
- Receive Error RX_ER is used by the
PCS layer 18 to signal theMAC 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 thePCS 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 theMAC 14 and thePCS layer 18. - Receive Clock, RX_CLK<P:N>
- 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 theMAC 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
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
- 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.
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.
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> -
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
SERDES interface bus 22 includes four groups of data andcontrol 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
SERDES logic 24 a-24 d respectively, is serialized for transmission over the differential serial transmit link (TXD+/−) for the correspondingchannel 26 a-26 d of thephysical attachment bus 26. In the present embodiment, eachchannel 26 a-26 d includes a differential serial data link TXD+/− for data driven by the respective serializer within theSERDES logic 24 and a serial data link RXD+/− for data destined for the respective deserializer within theSERDES 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 acontrol 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 tochannel logic - The channel logic for each of the four channels includes
scrambler logic 44,CRC encoder logic 46 and a transmitregister 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
- 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 thescrambler logic 44 is carried on the respective TXP bus and is driven by the transmitinterleave 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 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
CRC Encoder logic 46 which is employed to generate two bits from theside 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
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:
- 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
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. TheSide Scrambler 44 is depicted in greater detail in FIG. 4. - The feedback equations describing the
primary feedback logic 54 are shown below. - XPnext0=X1+X2;
- XPnext1=X2+X3;
- XPnext2=X3+X4;
- XPnext3=X4+X5;
- XPnext4=X5+X6;
- XPnext5=X6+X7;
- XPnext6=X7+X8;
- XPnext7=X8+X9;
- XPnext8=X9+X10;
- XPnext9=X10+X11;
- XPnext10=X1I+X12;
- XPnext11=X12+X13;
- XPnext12=X13+X14;
- XPnext13=X0+X1+X14;
- XPnext14=X0+X2;
- XPnext15=X1+X3;
- The “+” signs in the above identified equations indicate exclusive or operations.
- The 15 bit primary seeds to start up a four-channel transmitter up are as follows:
- SA=0×7FFF (M(0))
- SB=0×7F00 (M(½))
- SC=0×70FF (M(¼))
- SD=0×780F (M(¾))
- To provide the full sixteen bit seed during the initial cycle, the following 16 bit seeds may be employed.
- SA=0×7FFF (M(0))
- SB=0×7F00 (M(½))
- SC=0×70FF (M(½))
- SD=0×780F (M(¾))
- Where M(x) denotes the relative starting position in the maximum length sequence.
- Similarly, the feedback equations for the secondary sequence are as shown below.
- XSnext0=X1+X5;
- XSnext1=X2+X6;
- XSnext2=X3+X7;
- XSnext3=X4+X8;
- XSnext4=X5+X9;
- XSnext5=X6+X10;
- XSnext6=X7+X11;
- XSnext7=X8+X12;
- XSnext8=X9+X13;
- XSnext9=X10+X14;
- XSnext10=X0+X4+X11;
- XSnext11=X1+X5+X12;
- XSnext12=X2+X6+X13;
- XSnext13=X3+X7+X14;
- XSnext14==X0+X8;
- XSnext15=X1+X9;
- The 15 bit secondary seeds to start up a four-channel transmitter are as follows:
- SA=0×7FFF (M(0))
- SB=0×00CC (M(½))
- SC=0×0AAA (M(¼))
- SD=0×0008 (M(¾))
- To provide the full sixteen bit seed during the initial cycle, the following seed values may be employed:
- SA=0×7FFF (M(0))
- SB=0×00CC (M(½))
- SC=0×0AAA (M(¼))
- SD=0×0008 (M(¾))
- Where M(x) denotes the relative starting position in the maximum length sequence.
- It should be appreciated that other suitable starting seeds may be employed for both the primary and the secondary pseudo-random sequence generators.
- 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. In a preferred embodiment, oneseed 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 amultiplexer 52 and stored within a pseudo-random binary sequence (PRBS)register 52. The output of thePRBS 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) byXOR 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 thePRBS Register 52 may or may not be valid. Since the primary andsecondary logic 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 theseed 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 theprimary feedback logic 52 and thesecondary feedback logic 56. The outputs theprimary feedback logic 54 and thesecondary feedback logic 56 are coupled to inputs of themultiplexer 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
PRBS Register 52 via themulitplexer 50. The new pseudo-random binary sequence stored within thePRBS Register 52 is coupled to theXOR 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 theScrambler 44 is coupled toCRC 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 theChannel A logic 34. - CRC Block Encoder
- The
CRC Block Encoder 46 generates two bits, R0 and R1, from the 16-bit scrambled word received from thescrambler 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
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 theCRC 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 “+” 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
- Skew/Control Encoder
- 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 theCRC encoder logic 46 ofchannel 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
- 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 bydelay 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 (
R A1 . . . RD1) to produce four control-encoded bits, K<3:0>, as shown below. - K3=
R A1+C1 - K2=
R B1+C1 - K1=
R C1+C0 - K0=
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.
- 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. 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 + C0TXb<17> K3= R A1 + C1TXc<17> K2= R B1 + C1TXd<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
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 theTX 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 theTX 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 theTX 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 theTX 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 theTX 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 thephysical coding sublayer 18, is also included within theSERDES 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 orchannels 26 a-26 d. In the illustrated embodiment, the serial links comprise differential signals to thedriver 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 withindeserializer logic 24 and transmitted over the receive portion of theSERDES bus 22 to thephysical 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
- 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.
- Although the 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. - Receiver Word Frame Alignment
- 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
CRC Decoder 90 against the transmitted R0 bit (RX<16>). The WordFrame 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. - 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.
- The received data for each channel when presented to the
physical coding sublayer 18 is framed randomly by thede-serializer logic 24. One technique for performing word framing is depicted with greater particularity in FIG. 6. The received word which is delayed in aregister 120 to produce a delayed word and fed into amultiplexer 124 along with the current received word held inregister 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 thephysical coding sublayer 18 input. The wordframe control machine 84 uses theCRC 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
- Once word framing is achieved in all channels the bits are assumed to be correct into the
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. - 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/
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
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-wordAlign 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 - 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.
- 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
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. - 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.
- 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.
- FIG. 7 shows an exemplary implementation to achieve interchannel skew alignment. Each channel contains a cascade of three
delay registers Inter-Channel Alignment Control 88 adjusts the delays until the K bits are received correctly according to the equations above. - Receiver Scrambler Acquisition
- 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.
- Receiver Error Detection
- 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.
- The Receive Interleaver
- 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 receiveinterleave 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>
- 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
interleave logic 106 to the receivecontrol logic 108. - 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. 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.
- 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.
Claims (2)
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.
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)
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)
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)
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 |
-
1999
- 1999-05-27 US US09/321,448 patent/US6618395B1/en not_active Expired - Lifetime
-
2003
- 2003-07-16 US US10/620,635 patent/US20040022238A1/en not_active Abandoned
Patent Citations (16)
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)
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 |