# Patent

## Title
Method and system for data and edge detection with correlation tables

## Abstract

A system and method is disclosed for evaluating a data group of oversampled bits to detect edge transitions and for improving use of information available from a sampled data while maintaining acceptable noise rejection. An edge detection system for receiving a serial data stream includes a sampler for collecting a sample pattern from the serial data stream, the sample pattern including a succession of a plurality of data samples from the data stream with the plurality of data samples including multiple samples during a bit time associated with the data stream; a memory, coupled to the sampler, for storing one or more successive sample patterns; and a correlator, coupled to the memory, for producing a sample condition signal using a set of predefined patterns by comparing the stored sampled patterns to the predefined patterns.

## Background
FIELD OF THE INVENTION
The present invention relates generally to processing sample data from an oversampling clock/data recovery system, and more specifically to improving use of information available from the sampled data while maintaining acceptable noise rejection.
BACKGROUND OF THE INVENTION
Although it is well known to use oversampling clock/data recovery systems, and it is a frequent goal of those systems to extract timing information from an input serial data stream. The timing information is typically extracted by looking at signal edges, and when those detected edges occur in time with respect to each other. Noise in the input data stream complicates the identification and use of data edge clock/data recovery systems.
Prior art analog solutions often use phase detectors which use an exclusive OR (XOR) algorithm appropriate for the application and data, or which use latches that trigger on the different edge movements. Prior art digital solutions that use phase lock loops also traditionally use XOR gates. For those applications having lots of data, such as in serial transmission systems, the prior art clock/data recovery system performs an XOR operation between one sampled bit and the next sampled bit. Changes from one sampled bit to another are taken to indicate an edge. The problem with this solution is that it is not very robust and does not handle noise or other data distortions or artifacts in the input data stream very well. In one sample time in which a single edge transition may properly occur, the data stream or sampling may have multiple transitions that are not properly handled by the XOR algorithm. The XOR system is unable to use all the information in the sampled data that might indicate that the sample is not good, or unable to indicate that in certain situations, even when there are multiple transitions, the data sample is still able to provide meaningful edge information.
Accordingly, what is needed is a system and method for more accurately and efficiently evaluating a data group of oversampled bits to detect edge transitions and to improve use of information available from a sampled data while maintaining acceptable noise rejection. The present invention addresses such a need.
SUMMARY OF THE INVENTION
A system and method is disclosed for evaluating a data group of oversampled bits to detect edge transitions and for improving use of information available from a sampled data while maintaining acceptable noise rejection. An edge detection system for receiving a serial data stream includes a sampler for collecting a sample pattern from the serial data stream, the sample pattern including a succession of a plurality of data samples from the data stream with the plurality of data samples including multiple samples during a bit time associated with the data stream; a memory, coupled to the sampler, for storing one or more successive sample patterns; and a correlator, coupled to the memory, for producing a sample condition signal using a set of predefined patterns by comparing the stored sampled patterns to the predefined patterns. An edge detection method includes the steps of: collecting a sample pattern from a serial data stream, the sample pattern including a succession of a plurality of data samples from the data stream with the plurality of data samples including multiple samples during a bit time associated with the data stream; storing one or more successive sample patterns; and producing a sample condition signal using a set of predefined patterns by comparing the stored sampled patterns to the predefined patterns.
The system is able to make use of as much of a data sample as is meaningful to efficiently and accurately detect edges in a sampled word while having some robustness in rejecting pseudo edges that may be caused by noise or other data artifacts.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic block diagram of a preferred embodiment for an edge detection system; and
FIG. 2 is a chart depicting a preferred embodiment for patterns and the corresponding output information.



DETAILED DESCRIPTION
The present invention relates to evaluating a data group of oversampled bits to detect edge transitions and for improving use of information available from a sampled data while maintaining acceptable noise rejection. The following description is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements. Various modifications to the preferred embodiment and the generic principles and features described herein will be readily apparent to those skilled in the art. Thus, the present invention is not intended to be limited to the embodiment shown but is to be accorded the widest scope consistent with the principles and features described herein.
FIG. 1 is a schematic block diagram of a preferred embodiment for an edge detection system 100. Edge detection system 100 includes a sampler 105, a memory 110 and a correlator 115. Sampler 105 receives a data stream, typically a serial data stream, and generates a set of sampled data. In the preferred embodiment, sampler 105 oversamples the data and takes multiple successive samples during each bit time of the data cells of the input data stream. The sampled data is put into memory 110 where it may be aligned and processed to provide a sample word appropriate for the analysis. In the preferred embodiment, the last bits from a previous sample may be appended to the sampled data from the current data, but other configurations or arrangements of the bits may be desirable. The sample data pattern of the preferred embodiment thus has a total of seven (7) bits: three (3) bits from a current sample arranged in time order and stored with or otherwise associated with two (2) bits of a previous word and with two (2) bits of a next word as a pattern in memory 110. In the preferred embodiment, a single sample pattern word is stored in memory 110 at one time for pattern recognition. In other applications, it may be desirable or advantageous to sample and/or store a greater number of bits per a particular bit time, and/or take samples across multiple bit cells, and/or store multiple pattern words in memory 110 for analysis.
Correlator 115 reads the stored sample pattern or patterns from memory 110 and produces a sample condition signal using a set of predefined patterns by comparing the stored sampled pattern or patterns to the predefined patterns. Correlator 115 may be implemented, for example, as a look up table or a set of combinatorial logic gates that logically output an appropriate sample condition responsive to the stored sample pattern of seven bits as described above. One use of the present invention is disclosed in co-pending application Digital Adaptive Control Loop for Data Deserialization (RPS920020086US1), filed Oct. 7, 2002 and assigned application Ser. No. 10/265,759.
FIG. 2 is a chart depicting a preferred embodiment for predefined patterns and the corresponding sample condition signal. FIG. 2 is a pattern recognition table 200 including four columns, with each column having three fields. The first field is the stored sample pattern, the second field is a two-bit field of the output signal condition field and the third field is an alphanumeric character that helps to understand the quality of the data in the second field. FIG. 2 thus includes predetermined information for all 256 combinations of the seven bits making up the preferred format for the stored sample pattern. The second field is the sample condition signal that is the output from correlator 115. In the second field, a “10” means that an edge was detected early and a “01” means that an edge was detected late. A “00” means either that a detected edge is positioned properly in the middle or that the pattern does not reliably provide information. There are four alpha-numeric codes used in field three: “G” representing that the edge is good or properly positioned, “*” representing that the data clearly represents a need to move the sampling system responsive to the early/late indication of the second field, “?” representing that the data probably indicates a need to move the sampling system responsive to the early/late indication of the second field, and “-” representing that the stored pattern does not have enough information. The chart shown in FIG. 2 is populated by careful analysis of the meaning of each of the 256 sample patterns in light of the actual system and in context of the data. For other systems employing the present invention, even with seven bit sample patterns, the chart may be subtly or drastically different. As described, system 100 is an improvement over the prior art in that all of the transition information in the sampled data is used in determining the sample condition signal. The sample condition signal generated in this fashion is more accurate, particularly with the introduction of noise or other data artifacts into an input data stream to be sampled.
Although the present invention has been described in accordance with the embodiments shown, one of ordinary skill in the art will readily recognize that there could be variations to the embodiments and those variations would be within the spirit and scope of the present invention. Accordingly, many modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims.

## Claims

1. An edge detection system for receiving a serial data stream, comprising:
a sampler for collecting a sample pattern from the serial data stream, the sample pattern including a succession of a plurality of data samples from the data stream with the plurality of data samples including multiple samples during a bit time associated with the data stream;
a memory, coupled to the sampler, for storing one or more successive sample patterns, wherein the one or more successive sample patterns are stored with appended bits from a previous sample; and
a correlator, coupled to the memory, for producing a sample condition signal using a set of predefined patterns by comparing the stored sampled patterns to the predefined patterns, and for producing a code that indicates the quality of the data in the sample condition signal.

2. The edge detection system of claim 1 wherein the set of predefined patterns is stored in a logic table.

3. The edge detection system of claim 1 wherein the set of predefined patterns is embedded in combinatorial logic.

4. The edge detection system of claim 1 wherein the sample condition signal is selected from the set of good, early, and late.

5. The edge detection system of claim 4 wherein the set for the sample condition signal additionally includes unknown, likely early and likely late.

6. An edge detection method, comprising the steps of:
(a) collecting a sample pattern from a serial data stream, the sample pattern including a succession of a plurality of data samples from the data stream with the plurality of data samples including multiple samples during a bit time associated with the data stream;
(b) storing one or more successive sample patterns, wherein the one or more successive sample patterns are stored with appended bits from a previous sample;
(c) producing a sample condition signal using a set of predefined patterns by comparing the stored sampled patterns to the predefined patterns; and
(d) producing a code that indicates the quality of the data in the sample condition signal to detect an edge.

7. An edge detection system, comprising:
means for collecting a sample pattern from a serial data stream, the sample pattern including a succession of a plurality of data samples from the data stream with the plurality of data samples including multiple samples during a bit time associated with the data stream;
means, coupled to the collecting means, for storing one or more successive sample patterns, wherein the one or more successive sample patterns are stored with appended bits from a previous sample; and
means, coupled to the storing means, for producing a sample condition signal using a set of predefined patterns by comparing the stored sampled patterns to the predefined patterns, and for producing a code that indicates the quality of the data in the sample condition signal.

8. The edge detection system of claim 1 wherein each predefined pattern of the set of predefined patterns comprises a sample pattern field and a sample condition signal field.