IP Library Granted Patent US 8,611,473
Granted Patent B1
US 8,611,473 · App. 12/969,402 · Granted Dec 17, 2013

Reduction of correlated channel impairments

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,611,473
App. No.
12/969,402
Granted
Dec 17, 2013
Kind
B1
Abstract

For power efficiency, it can be desirable to use a 1-bit ADC or slicer to receive a wired data transmission. A plurality of N samples per baud period are taken. N can be, for example, 4 or more. At least a portion of the samples are included in a window of samples, the size of which is based at least partly on earlier determined values of prior symbols. For example, a polynomial function or other numerical function can be embedded in a lookup table to map previously determined data bits to an address, and the address can be used to control an input of multiplexers to vary the size of the window. The value for a current symbol is determined based at least partly on one or more values within the window of samples.

Claims (99)

1. A method of detecting symbols of a data stream carried via a wired or optical transmission channel, the method comprising:

(a) for each baud period of the data stream:

(b) varying a size of a window of sliced samples based at least partly on determined values of one or more immediately prior symbols, wherein the window includes at least a portion of the samples of a baud period for the current symbol; and

(c) determining a value for the current symbol based at least partly on one or more values within the window of sliced samples;

wherein at least varying and determining are performed by electronic hardware.

2. The method of claim 1 , further comprising:

slicing the data stream with a single threshold level to generate the sliced samples, wherein slicing occurs at a sampling rate that is at least 4 times higher than the baud rate of the data stream;

determining a logic state of the current symbol to be the same as that of the immediately prior symbol when none of the sliced samples in the window has a logic state that is opposite to that of the immediately prior symbol; and

determining the logic state of the current symbol to be different from that of the immediately prior symbol when at least one sliced sample in the window has a logic state that is opposite to that of the immediately prior symbol.

3. The method of claim 1 , further comprising:

slicing the data stream with a single threshold level to generate the sliced samples, wherein slicing occurs at a sampling rate that is at least 4 times higher than the baud rate of the data stream;

filtering the sliced samples after slicing to generate filtered samples;

determining a logic state of the current symbol to be the same as that of the immediately prior symbol when none of the filtered samples in the window has a logic state that is opposite to that of the immediately prior symbol; and

determining the logic state of the current symbol to be different from that of the immediately prior symbol when at least one filtered sample in the window has a logic state that is opposite to that of the immediately prior symbol.

4. The method of claim 3 , wherein filtering comprises majority logic filtering.

5. The method of claim 1 , further comprising:

exclusive-ORing N pairs of previously detected adjacent symbols to generate N−1 modified symbols;

wherein varying the size of the window of samples is based on values of the N−1 modified symbols.

6. The method of claim 1 , further comprising (d) analyzing multiple windows for multiple baud periods and determining values for the multiple windows in parallel.

7. The method of claim 6 , further comprising:

(e) for each of two or more windows being processed in parallel, performing the following in parallel before a logic state of the immediately prior symbol is known:

(f) assuming that the immediately prior symbol is a logic “1,” performing:

(g) determining a first possible outcome of the current symbol for the window to be the same as that of the assumed state of the immediately prior symbol when none of the sliced samples in the window has a logic state that is opposite to that of the assumed state of the immediately prior symbol; and

(h) determining a second possible outcome of the current symbol for the window to be different from that of the assumed state of the immediately prior symbol when at least one sliced sample in the window has a logic state that is opposite to that of the assumed state of the immediately prior symbol;

(i) assuming that the immediately prior symbol is a logic “0,” performing:

(j) determining a third possible outcome of the current symbol for the window to be the same as that of the assumed state of the immediately prior symbol when none of the sliced samples in the window has a logic state that is opposite to that of the assumed state of the immediately prior symbol; and

(k) determining a fourth possible outcome of the current symbol for the window to be different from that of the assumed state of the immediately prior symbol when at least one sliced sample in the window has a logic state that is opposite to that of the assumed state of the immediately prior symbol; and

(l) after the logic state of the immediately prior symbol is known, selecting from the first possible outcome, the second possible outcome, the third possible outcome, or the fourth possible outcome for determination of the current symbol based at least partly on the logic state of the immediately prior symbol.

8. The method of claim 7 , further comprising repeating (a) to (l) for determination of at least the immediately prior symbol.

9. The method of claim 1 , further comprising adjusting timing of slicing based at least partly on determined values of two or more immediately prior symbols.

10. The method of claim 1 , wherein the size of the window is varied with reference to a lookup table, wherein the method further comprises adaptively adjusting contents of the lookup table.

11. An apparatus for detecting symbols of a data stream carried via a wired or optical transmission channel, the apparatus comprising:

a data decision memory block configured to store one or more determined values of two or more immediately prior symbols; and

a variable window processing block configured to, per baud period, select a size for a window of sliced samples based at least partly on the determined values of the two or more immediately prior symbols and to determine a value for a current symbol based at least partly on one or more values within the window of sliced samples.

12. The apparatus of claim 11 , further comprising:

a slicer disposed in a signal path upstream of the variable window processing block, the slicer configured to slice soft symbols of the data stream with a single threshold level to generate the sliced samples, wherein slicer is configured to slice at a sampling rate that is at least 4 times higher than the baud rate of the data stream;

wherein the variable window processing block further comprises:

a cumulative OR circuit configured to generate a logical OR of sliced samples of the window;

a cumulative AND circuit configured to generate a logical AND of sliced samples of the window;

an output multiplexer configured to select a result from the cumulative OR circuit or from the cumulative AND circuit based on a state of an immediately prior symbol to determine a logic state of the current symbol.

13. The apparatus of claim 12 , further comprising:

wherein the cumulative OR circuit comprises a plurality of OR gates having a plurality of outputs, wherein each output comprises a logical ORing of the corresponding sliced sample and earlier-in-time sliced samples of the window;

wherein the cumulative AND circuit comprises a plurality of AND gates having a plurality of outputs, wherein each output comprises a logical ANDing of the corresponding sliced sample and earlier-in-time sliced samples of the window;

wherein the variable window processing block further comprises:

a cumulative-OR multiplexer configured to select among the plurality of outputs of the cumulative OR circuit based, at least in part on the determined values of the two or more immediately prior symbols;

a cumulative-AND multiplexer configured to select among the plurality of outputs of the cumulative AND circuit based at least in part on the determined values of the two or more immediately prior symbols;

wherein the output multiplexer is configured to select between an output of the cumulative-OR multiplexer or an output of the cumulative-AND multiplexer.

14. The apparatus of claim 11 , further comprising:

a slicer disposed in a signal path upstream of the variable window processing block, the slicer configured to slice soft symbols of the data stream with a single threshold level to generate the sliced samples, wherein slicer is configured to slice at a sampling rate that is at least 4 times higher than the baud rate of the data stream;

a filter disposed in the signal path between the slicer and the variable window processing block, the filter configured to filter the sliced samples to generate filtered samples;

wherein the variable window processing block further comprises:

a cumulative OR circuit configured to generate a logical OR of filtered samples of the window;

a cumulative AND circuit configured to generate a logical AND of filtered samples of the window;

an output multiplexer configured to select a result from the cumulative OR circuit or from the cumulative AND circuit based on a state of an immediately prior symbol to determine a logic state of the current symbol.

15. The apparatus of claim 14 , wherein the filter comprises a majority logic filter.

16. The apparatus of claim 11 , wherein the variable window processing block further comprises:

an exclusive-OR block configured to exclusive-OR N pairs of previously detected adjacent symbols to generate N−1 modified symbols;

wherein the variable window processing block is configured to vary the size of the window of samples based on values of the N−1 modified symbols.

17. The apparatus of claim 11 , wherein the variable window processing block is further configured to process multiple windows for multiple baud periods in parallel.

18. The apparatus of claim 17 , wherein the variable window processing block further comprises:

a plurality of DFAT pre-computation blocks configured to process multiple windows in parallel, wherein at least one DFAT pre-computation block of the plurality is configured:

to receive a window of samples;

to determine a first possible outcome of the current symbol for the window to be the same as that of a first assumed state of the immediately prior symbol when none of the sliced samples in the window has a logic state that is opposite to that of the first assumed state of the immediately prior symbol, wherein the first assumed state is a logic “1”; and

to determine a second possible outcome of the current symbol for the window to be different from that of the first assumed state of the immediately prior symbol when at least one sliced sample in the window has a logic state that is opposite to that of the first assumed state of the immediately prior symbol;

to determine a third possible outcome of the current symbol for the window to be the same as that of a second assumed state of the immediately prior symbol when none of the sliced samples in the window has a logic state that is opposite to that of the second assumed state of the immediately prior symbol, wherein the second assumed state is logic “0”; and

to determine a fourth possible outcome of the current symbol for the window to be different from that of the second assumed state of the immediately prior symbol when at least one sliced sample in the window has a logic state that is opposite to that of the second assumed state of the immediately prior symbol; and

a feedback decision matrix configured to select from the first possible outcome, the second possible outcome, the third possible outcome, or the fourth possible outcome for determination of the current symbol based at least partly on the logic state of the immediately prior symbol after the logic state of the immediately prior symbol is determined.

19. The apparatus of claim 11 , wherein the variable window processing block is further configured to provide a signal to adjust timing of the slicer based at least partly on determined values of two or more immediately prior symbols.

20. The apparatus of claim 11 , wherein the variable window processing block further comprise a window control block configure to vary the size of the window with reference to a lookup table; wherein contents of the lookup table are adaptively adjusted.

21. An apparatus for detecting symbols of a data stream carried via a wired or optical transmission channel, the apparatus comprising:

means for varying a size of a window of sliced samples for each baud period of the data stream based at least partly on determined values of two or more immediately prior symbols, wherein the window includes at least a portion of the samples of a baud period for the current symbol; and

means for determining a value for the current symbol based at least partly on one or more values within the window of sliced samples.

22. A method of adaptively adjusting or generating content for a lookup table for selection of one or more samples to be used for determination of a value of a symbol from a data stream, the method comprising:

determining offsets between an average transition location and actual transition locations within samples, wherein the data stream is sliced at a sampling rate that is at least 4 times higher than a baud rate of the data stream to generate the samples;

when a current determined symbol is different from the determined symbol for an immediately previous baud interval:

receiving an indication as to which previous detected symbol pattern of a plurality of previous detected symbol patterns is applicable for a current baud interval, wherein the previous detected symbol pattern comprises one or more prior symbols; and

collecting offsets separately by the previous detected symbol pattern;

when the current determined symbol is the same as the determined symbol for the previous baud interval, discarding a collected offset; and

modifying a value associated with the collected offset in the lookup table;

wherein at least determining, collecting, discarding, and modifying are performed by electronic hardware.

23. The method of claim 22 , wherein modifying comprises computing an average arranged by the previous detected symbol pattern and storing the average in the lookup table.

24. The method of claim 22 , further comprising using the previous detected symbol pattern as an address to access data in the lookup table.

25. An apparatus for adaptively adjusting or generating content for a lookup table for selection of one or more samples to be used for determination of a value of a symbol from a data stream, the apparatus comprising:

a transition offset detector configured to determine offsets that occur between an average transition location and actual transition locations within samples, wherein the data stream is sliced at a sampling rate that is at least 4 times higher than a baud rate of the data stream to generate the samples;

an offset averaging block configured to:

when a current determined symbol is different from the determined symbol for the previous baud interval:

receive an indication as to which previous detected symbol pattern of a plurality of previous detected symbol patterns is applicable for a current baud interval, wherein the previous detected symbol pattern comprises one or more prior symbols; and

collect offsets separately by the previous detected symbol pattern;

when the current determined symbol is the same as the determined symbol for the previous baud interval, discard a collected offset; and

a controller configured to modify a value associated with the collected offset in the lookup table.

26. The apparatus of claim 25 , wherein the offset averaging block is configured to compute averages, wherein the averages are arranged by the previous detected symbol pattern, wherein a controller is further configured to store the average in the lookup table.

27. The apparatus of claim 25 , wherein the previous detected symbol pattern comprises an address used to access data in the lookup table.

28. An apparatus for adaptively adjusting or generating content for a lookup table for selection of one or more samples to be used for determination of a value of a symbol from a data stream, the apparatus comprising:

means for collecting offsets, wherein the collecting offsets means is configured to:

when a current determined symbol is different from the determined symbol for an immediately previous baud interval:

receive an indication as to which previous detected symbol pattern of a plurality of previous detected symbol patterns is applicable for a current baud interval, wherein the previous detected symbol pattern comprises one or more prior symbols; and

collect offsets separately by the previous detected symbol pattern; and

when a current determined symbol is different from the determined symbol for an immediately previous baud interval, discard a collected offset when the current determined symbol is the same as the determined symbol for the previous baud interval; and

means for modifying a value associated with the collected count offset in the lookup table.

Assignments (17)
RELEASE OF SECURITY INTEREST Recorded Mar 14, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 060894/0437 →
RELEASE OF SECURITY INTEREST Recorded Mar 11, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059363/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 10, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059863/0400 →
RELEASE OF SECURITY INTEREST Recorded Mar 9, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059358/0001 →
RELEASE OF SECURITY INTEREST Recorded Feb 25, 2022
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059333/0222 →
SECURITY INTEREST Recorded Jun 4, 2021
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 057935/0474 →
SECURITY INTEREST Recorded Dec 24, 2020
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 055671/0612 →
SECURITY INTEREST Recorded Jun 5, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 053468/0705 →
RELEASE OF SECURITY INTEREST Recorded May 30, 2020
From: JPMORGAN CHASE BANK, N.A, AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 053466/0011 →
SECURITY INTEREST Recorded Apr 24, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 053311/0305 →
SECURITY INTEREST Recorded Sep 18, 2018
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 047103/0206 →
SECURITY INTEREST Recorded Jun 25, 2018
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 046426/0001 →
RELEASE OF SECURITY INTEREST Recorded May 29, 2018
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: MICROSEMI STORAGE SOLUTIONS, INC.; MICROSEMI STORAGE SOLUTIONS (U.S.), INC.
Reel/Frame 046251/0271 →
CHANGE OF NAME Recorded Apr 7, 2016
From: PMC-SIERRA, INC.
To: MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 038381/0753 →
PATENT SECURITY AGREEMENT Recorded Feb 3, 2016
From: MICROSEMI STORAGE SOLUTIONS, INC. (F/K/A PMC-SIERRA, INC.); MICROSEMI STORAGE SOLUTIONS (U.S.), INC. (F/K/A PMC-SIERRA US, INC.)
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037689/0719 →
RELEASE OF SECURITY INTEREST Recorded Feb 1, 2016
From: BANK OF AMERICA, N.A.
To: PMC-SIERRA, INC.; PMC-SIERRA US, INC.; WINTEGRA, INC.
Reel/Frame 037675/0129 →
SECURITY INTEREST IN PATENTS Recorded Aug 6, 2013
From: PMC-SIERRA, INC.; PMC-SIERRA US, INC.; WINTEGRA, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 030947/0710 →