Method and apparatus for multi-level signaling
AssigneeRambus Inc.
InventorsMark A. Horowitz, Scott C. Best, William F. Stonecypher
Life of this patent
Estimating the term…
Abstract
A system transmits data on a multi-conductor signal path, which produces a current flow based on the value of the data transmitted. The system reduces changes in current flow between successive data transmissions by encoding data values represented by sets of N bits to produce corresponding sets of M symbols. Each set of M symbols represents multiple bits and each set of M symbols is selected to produce a current flow within a predetermined range of current flows. The sets of M symbols are transmitted across the multi-conductor signal path.
Claims48
In a system in which data transmissions on a multi-conductor signal path produce current flow based on the value of the data transmitted, a method of reducing change in current flow between successive data transmissions, the method comprising:
- encoding data values represented by sets of N bits to produce corresponding sets of M symbols, each of the symbols to be transmitted on a respective signal conductor of the multi-conductor signal path and representing a plurality of bits, and each set of M symbols being selected to produce a current flow within a predetermined range of current flows;
- and
- transmitting the sets of M symbols.
A method of multi-level signaling, the method comprising:
- determining whether signal current required to transmit a data element is within a predetermined range of current values;
- encoding the data element if the current required to transmit the data element is not within the predetermined range of current values, wherein the data element is encoded such that the signal current required to transmit the data element is within the predetermined range of current values;
- and
- adding a signal to the encoded data element to indicate any encoding of the data element.
A method of encoding a set of bits for transmission in a system that supports at least four discrete signal levels on a transmission medium, the method comprising:
- encoding a first group of N bits of the set of bits using a first encoding scheme to generate a first encoded bit set that includes at least N+1 bits, wherein the first encoded bit set has a first weighting corresponding to states of the at least N+1 bits of the first encoded bit set;
- encoding a second group of N bits of the set of bits using a second encoding scheme to generate a second encoded bit set that includes at least N+1 bits, wherein the second encoded bit set has a second weighting corresponding to states of the at least N+1 bits of the second encoded bit set;
- when a combination of the first weighting and the second weighting is within a predetermined weighting range, combining the first and second bit sets to produce an output symbol set;
- when the combination of the first weighting and the second weighting is outside of the predetermined weighting range:
- encoding the second group of N bits of the set of bits using a third encoding scheme to generate a third encoded bit set that includes at least N+1 bits, wherein the third encoded bit set has a third weighting that is different from the second weighting;
- and
- combining the first and third encoded bit sets to produce the output symbol set.
A method comprising:
- receiving a data value to be transmitted across a plurality of conductors using current mode drivers, wherein each of the plurality of conductors supports multiple signal levels;
- determining whether a sum of the currents required to transmit the data value is within a predetermined range of current values;
- transmitting the data value if the sum of the currents is within the predetermined range of current values;
- and
- encoding the data and transmitting the encoded data if the sum of the currents is not within the predetermined range of current values, wherein the data is encoded such that the sum of the currents is within the predetermined range of current values.
A method of decoding a set of bits in a system that is capable of receiving at least four discrete signal levels on a transmission medium, the method comprising:
- decoding a first group of bits using a first decoding scheme to generate a first decoded group of bits;
- decoding a second group of bits using a second decoding scheme to generate a second decoded group of bits;
- analyzing the first group of bits to determine whether the first group of bits represents a first exception bit set or a second exception bit set;
- if the first group of bits represents a first exception bit set, then replacing the first decoded group of bits with the second decoded group of bits and replacing the second decoded group of bits with a first predetermined value;
- and
- if the first group of bits represents a second exception bit set, then replacing the first decoded group of bits with a second predetermined value and replacing the second decoded group of bits with the first predetermined value.
An apparatus comprising:
- a plurality of multi-level output drivers coupled to a plurality of conductors, each of the multi-level output drivers to output a signal representative of more than a single binary bit onto a respective one of the conductors;
- and
- an encoder configured to receive a data element, the encoder having outputs coupled to the plurality of multi-level output drivers, the encoder encoding the data element, if necessary, to maintain the signal current required to transmit the data element within a predetermined range of values.
An apparatus to encode a set of bits for transmission in a system that supports at least four discrete signal levels on a transmission medium, the apparatus comprising:
- a first encoder configured to encode a first group of N bits of the set of bits using a first encoding scheme, wherein the first encoder generates a first encoded bit set that includes at least N+1 bits, wherein the first encoded bit set has a first weighting corresponding to states of the at least N+1 bits of the first encoded bit set;
- a second encoder configured to encode a second group of N bits of the set of bits using a second encoding scheme, wherein the second encoder generates a second encoded bit set that includes at least N+1 bits, wherein the second encoded bit set has a second weighting corresponding to states of the at least N+1 bits of the second encoded bit set;
- a first comparator coupled to the first encoder and configured to determine whether the first weighting has a first predetermined value;
- and
- a second comparator coupled to the second encoder and configured to determine whether the second weighting has a second predetermined value.
An apparatus to decode a set of bits received by a system, the apparatus comprising:
- a first decoder configured to decode a first group of bits using a first decoding scheme, wherein the first decoder generates a first decoded group of bits;
- a second decoder configured to decode a second group of bits using a second decoding scheme, wherein the second decoder generates a second decoded group of bits;
- a first comparator coupled to the first decoder and configured to determine whether the first group of bits represents a first exception bit set;
- if the first group of bits represents the first exception bit set, then the first decoded group of bits is replaced with the second decoded group of bits and the second decoded group of bits is replaced with a first predetermined value;
- a second comparator coupled to the first decoder and coupled to determine whether the first group of bits represents a second exception bit set;
- and
- if the second group of bits represents the second exception bit set, then the first decoded group of bits is replaced with a second predetermined value and the second decoded group of bits is replaced with the first predetermined value.
Dependencies are inferred from the claim text.