IP Library Granted Patent US 8,159,375
Granted Patent B2
US 8,159,375 · App. 12/679,465 · Granted Apr 17, 2012

Simplified receiver for use in multi-wire communication

Assignee: Rambus Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,159,375
App. No.
12/679,465
Granted
Apr 17, 2012
Kind
B2
Abstract

An encoder encodes data into a series of parallel codewords. Each codeword is expressed two sets of logic values (e.g., a set of logic 0s and a set of logic 1s) on output nodes. The encoder selects a current codeword from a group of codewords in a codespace which does not overlap the other group of codewords, i.e., codewords in a given group of codewords are not included in any other group of codewords in the codespace. This property allows a receiver of the codewords to be simplified. In particular, a mathematical operation performed on symbols in the current codeword uniquely specifies the corresponding group of codewords. This allows a decoder to decode the current codeword using comparisons of symbols received on a subset of all possible combinations of node pairs.

Claims (69)

1. A receiver circuit, comprising:

input nodes to receive a set of symbols representing a first codeword in a first codegroup;

a first circuit to determine a first decoder value based on the set of symbols, the first decoder value identifying the first codegroup;

a second circuit to determine a second decoder value based on the set of symbols, the second decoder value identifying the first codeword in the first codegroup; and

a decoder circuit to determine a data word corresponding to the first codeword in the first codegroup based on the first decoder value and the second decoder value.

2. The receiver circuit of claim 1 ,

wherein the first circuit determines the first decoder value by determining a difference between a first sum and a second sum, wherein the first sum is a sum of symbols in a first subset of the set of symbols, and wherein the second sum is a sum of symbols in a second subset of the set of symbols; and

wherein the second circuit determines the second decoder value by:

determining first comparison results for pairs of symbols in the first subset of the set of symbols; and

determining second comparison results for pairs of symbols in the second subset of the set of symbols.

3. The receiver circuit of claim 2 , wherein the second circuit includes a set of sense amplifiers, wherein each sense amplifier outputs a comparison result corresponding to a difference between two symbols.

4. The receiver circuit of claim 3 , wherein there are M symbols in the set of symbols, and wherein there are fewer than M(M−1)/2 sense amplifiers.

5. The receiver circuit of claim 3 , wherein there are M symbols in the set of symbols, and wherein there are (M/2)((M/2)−1) sense amplifiers.

6. The receiver circuit of claim 1 , wherein the decoder circuit uses time interval information associated with the set of symbols to determine the data word.

7. The receiver circuit of claim 6 , wherein different codespaces are used in different time intervals.

8. The receiver circuit of claim 6 , wherein codewords in adjacent time intervals associated with the data word are complements of each other.

9. The receiver circuit of claim 8 , further comprising a symbol-complement circuit that provides the complement of the set of symbols to the decoder circuit.

10. The receiver circuit of claim 6 , further comprising a clock-recovery circuit to recover a clock signal embedded in codewords received over a series of time intervals at the input nodes.

11. The receiver circuit of claim 10 , wherein the clock recovery circuit sums the symbols in each codeword.

12. The receiver circuit of claim 6 ,

wherein a first portion of the receiver circuit determines data words during even time intervals and a second portion of the receiver circuit determines data words during odd time intervals; and

wherein the first portion of the receiver circuit and the second portion of the receiver circuit operate at half the rate of the clock signal.

13. The receiver circuit of claim 1 , wherein the set of symbols is balanced.

14. An integrated circuit, comprising:

means for receiving a set of symbols representing a first codeword in a first codegroup;

means for determining a first decoder value based on the set of symbols, the first decoder value identifying the first codegroup;

means for determining a second decoder value based on the set of symbols, the second decoder value identifying the first codeword in the first codegroup; and

means for determining a data word corresponding to the first codeword in the first codegroup based on the first decoder value and the second decoder value.

15. A system, comprising:

a transmitter to encode a data word into a set of symbols, the set of symbols representing a first codeword in a first codegroup; and

a receiver coupled to the transmitter, wherein the receiver includes:

input nodes to receive the set of symbols;

a first circuit to determine a first decoder value based on the set of symbols, the first decoder value identifying the first codegroup;

a second circuit to determine a second decoder value based on the set of symbols, the second decoder value identifying the first codeword in the first codegroup; and

a decoder circuit to determine the data word based on the first decoder value and the second decoder value.

16. The system of claim 15 ,

wherein the first circuit determines the first decoder value by determining a difference between a first sum and a second sum, wherein the first sum is a sum of symbols in a first subset of the set of symbols, and wherein the second sum is a sum of symbols in a second subset of the set of symbols; and

wherein the second circuit determines the second decoder value by:

determining first comparison results for pairs of symbols in the first subset of the set of symbols; and

determining second comparison results for pairs of symbols in the second subset of the set of symbols.

17. The system of claim 16 , wherein the second circuit includes a set of sense amplifiers, wherein each sense amplifier outputs a comparison result corresponding to a difference between two symbols.

18. The system of claim 15 , wherein different codespaces are used in different time intervals.

19. The system of claim 18 , wherein codewords in adjacent time intervals associated with the data word are complements of each other.

20. A method for decoding a codeword, the method comprising:

receiving a set of symbols representing a first codeword in a first codegroup in a first codespace, wherein different codespaces are used in different time intervals;

outputting a first decoder value based on the set of symbols, the first decoder value identifying the first codegroup;

outputting a second decoder value based on the set of symbols, the second decoder value identifying the first codeword in the first codegroup; and

determining a data word corresponding to the first codeword in the first codegroup based on the first decoder value, the second decoder value, and time interval information associated with the set of symbols.

21. The method of claim 20 , wherein codewords in adjacent time intervals associated with the data word are complements of each other.

22. A method for encoding a data word, the method comprising:

receiving the data word; and

selecting an M-symbol codeword based on the data word, wherein the M-symbol codeword is capable of being decoded using less than M(M−1)/2 difference values, wherein each difference value corresponds to a difference between two symbols in the M-symbol codeword.

23. The method of claim 22 , wherein different codespaces are used in different time intervals, and wherein selecting the M-symbol codeword includes:

selecting a codespace based at least on time interval information; and

selecting the M-symbol codeword from the selected codespace.

24. The method of claim 23 , wherein codewords in adjacent time intervals associated with the data word are complements of each other.

25. The method of claim 22 , wherein the M-symbol codeword is capable of being decoded using (M/2)((M/2)−1) difference values.

26. A transmitter circuit, comprising:

an encoder configured to encode a data word into an M-symbol codeword capable of being decoded using less than M(M−1)/2 difference values, each difference value corresponding to a difference between two symbols in the M-symbol codeword; and

a set of drivers, each driver in the set of drivers configured to output a symbol in the M-symbol codeword onto a transmission link.

27. The transmitter circuit of claim 26 , wherein the M-symbol codeword is capable of being decoded using (M/2)((M/2)−1) difference values.

28. An integrated circuit, comprising:

means for receiving a data word; and

means for encoding the data word into an M-symbol codeword capable of being decoded using (M/2)((M/2)−1) difference values, each difference value corresponding to a difference between two symbols in the M-symbol codeword.

29. A receiver circuit, comprising:

input nodes to receive an M-symbol codeword;

a first circuit, coupled to the input nodes, to output a codegroup value, wherein the codegroup value is a difference between a first sum of symbols from the M-symbol codeword and a second sum of symbols from the M-symbol codeword;

a second circuit, coupled to the input nodes, to output N difference values, N being less than M(M−1)/2, and each difference value corresponding to a difference between two symbols from the M-symbol codeword; and

a decoder circuit, coupled to the first circuit and the second circuit, to determine a data word corresponding to the M-symbol codeword based on the N difference values and the codegroup value.

Continuity (3)
Provisional Application 60976666 · Oct 1, 2007
Provisional Application 60988557 · Nov 16, 2007
Related Publication 20100235673A1 · Sep 16, 2010