Method and apparatus for multi-channel data delay equalization
First Claim
1. A method for managing, reception of data signals on a plurality of data lines, the method conspiring:
- receiving data signals on the plurality of daunt lines and a reference signal;
measuring a delay between the data signal a and the reference signal on each of the plurality of data lines, based on a periodic timing reference to form a plurality of delay measurements;
generating a set of delay values from the plurality of delay measurements; and
using the set of delay values to adjust delay in a reception in each of the plurality or data signals in the plurality of data lines.
9 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for managing transmission of data signals in a plurality of data lines. Data signals are received on the data lines and a reference signal. On each of the data lines, a delay between the data signal and the reference signal is measured to form a plurality of delay measurements. A set of delay values from the delay measurements is generated. In a preferred embodiment of the present invention, the delay values are selected to equalize the delay in each of the data lines to have the same delay as the data line having the longest delay. The delay values are used to adjust delay in a transmission in each of the plurality of data signals in the data lines. In the preferred embodiment of the present invention, the reference signal is set such that transitions for the data signals are centered to the middle of a pulse for the reference signal.
84 Citations
66 Claims
-
1. A method for managing, reception of data signals on a plurality of data lines, the method conspiring:
-
receiving data signals on the plurality of daunt lines and a reference signal;
measuring a delay between the data signal a and the reference signal on each of the plurality of data lines, based on a periodic timing reference to form a plurality of delay measurements;
generating a set of delay values from the plurality of delay measurements; and
using the set of delay values to adjust delay in a reception in each of the plurality or data signals in the plurality of data lines. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
identifying a data line within the plurality of data lines having a longest delay within the plurality of delay measurements; and
selecting delay values for other data lines within the plurality of delay lines, wherein the delay values set the delay for the other data lines equal to the data line.
-
-
13. The method of claim 12, further comprising:
selecting a delay value for the reference signal, wherein the delay value causes transitions in the data signals received from the plurality of lines to occur during a middle of a pulse for the reference signal.
-
14. The method of claim 1, wherein the step of generating a set or delay value comprises:
-
identifying a largest delay within the set or delay values;
selecting delay value for each of the plurality of data lines equal to the largest delay minus the delay for each of the data line plurality of data lines.
-
-
15. The method of claim 1, wherein the receiving, measuring, and generating steps are performed in a target device.
-
16. The method of claim 1, wherein the receiving, measuring, and generating steps are performed in a host device.
-
17. A method for equalizing a reception of data signals in a plurality of input channels in a device, the method comprising:
-
receiving a data signal from each of the plurality of input channels in the device and a reference signal;
identifying a delay between a transition in the data signal and a transition in the reference signal on each channel of the plurality of input channels, based on a periodic timing reference, to form a plurality of delays; and
using the plurality of delays to adjust a delay in a reception of a data signal on each channel within the set of input channels to increase a setup and a hold time for the plurality of data signals. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. A data processing system comprising:
-
a plurality of data lines;
a host device connected to the plurality of data lines, wherein the host device transmits a data signal on each of the plurality or data lines to form a set or transmitted data signals and transmits another signal; and
a target device connected to the plurality of data lines, wherein the target device receives the set of transmitted data signals, nicasures a delay between a transmitted data signal in the set of transmitted data signals and the another signal for each of the plurality of transmitted data signals, based on a periodic timing reference, to generate a sot of delay values, adjusts a delay at the target device for each of the plurality of data lines based on the set of delay values. - View Dependent Claims (25, 26, 27, 28, 29, 30)
-
-
31. A channel delay apparatus comprising.
a delay adjustment unit, a first set of inputs for receiving data from a plurality of data channels, a second set of inputs for receiving, a set of delay values, and set of outputs at which the data received at the first set of inputs is transmitted, and a delay mechanism, wherein the delay mechanism delays travelling from the first set of inputs to the set of outputs based on the set of delay values, wherein data for a data channel in the set of data channels is delayed relative to data for another data channel in the set of data channels using a delay value from the set of delay values; -
a delay counter unit having a first set of inputs for receiving data from the plurality of data channels and a reference signal from a signal line and a set of outputs, wherein the delay counter unit is based on a periodic timing reference and measures a delay between data in each of the plurality of data channels and the reference signal on the signal line and generates a set of measured delay values at the set of outputs; and
a delay adjustment calculation unit having a plurality of inputs corrected to the set of outputs in the delay counter and a set of outputs connected to the second set of inputs in the delay adjustment unit, wherein the delay calculation unit generates the set of delay values using the set of measured delay values. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40, 41)
a first transition detector having an input configured to receive data and an output;
a second transition detector having an input configured to receive the reference signal ailed an output;
a first latch having a first input, a second input, and an output, wherein the first input is connected to the output of the first transition detector and the second input is connected to the output of the first transition detector;
a counter having a first input, a reset input, a clock input, and an output, wherein the first input is connected to the output of the latch, the resect input is connected to the output of the first transition detector, and the clock input is configured to receive a clock signal; and
a second latch having a first input, a second input, and an output, wherein the first input is connected to the output of the counter, wherein the second input is connected to tile output of the counter, and wherein the output generates a delay value.
-
-
39. The delay channel apparatus of claim 31, wherein the delay adjustment unit includes a plurality of delay units, wherein each delay unit is associated within a data channel within the plurality of data channels and wherein each delay unit includes a set of delay cells in which each delay cell contains at least one delay client.
-
40. The delay channel apparatus of claim 31, wherein each delay unit includes a two delay elements.
-
41. The delay channel apparatus of claim 38, wherein a ring oscillator circuit generates a clock signal for application to tic clock input in the counter.
-
42. A data processing system for managing reception of data signals on a plurality of data lines, the data processing system comprising:
-
reciving means for receiving data signals on the plurality of data lines and a reference signal;
measuring means for measuring a delay between the data signal and the reference signal on each of the plurality of data lines, based on a periodic timing reference to form a plurality of delay measurements;
generating means for generating a set of delay values from the plurality of delay measurements; and
using means for using the set or delay values to adjust delay in a reception in each of the plurality of data signals in the plurality of data lies. - View Dependent Claims (43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57)
identifying means for identifying a data line within the plurality of data lines having a longest delay within the plurality of delay measurements; and
selecting means for selecting delay values for other data lines within the plurality of delay lines, wherein the delay values set the delay for the other data lines equal to the data line.
-
-
54. The data processing system of claim 53 further comprising:
second selecting means for selecting a delay value for the reference signal, wherein the adjusted delay value causes transitions in the data signals received from the plurality of lines to occur during a middle of a pulse for the reference signal.
-
55. The data processing system of claim 42, wherein the generating means:
-
identifying means for identifying a largest delay within the set of delay values;
selecting means for selecting delay value for each of the plurality of data lines equal to the largest delay minutes the delay for each of the data line plurality of data lines.
-
-
56. Tho data processing system of claim 42, wherein the receiving means, measuring means, and generating means are located in a target device.
-
57. The data processing system of claim 42, wherein the receiving means, measuring means, and generating, means are located in a host device.
-
58. A data processing system for equalizing a reception of data signals in a plurality of input channels in a device, tie data processing system comprising:
-
receiving means for receiving a data signal form each of the plurality of input channels in the device and a reference signal;
identifying means for identifying a delay between a transition in the data signal and a transition in the reference signal on each channel of the plurality of input channels, based on a periodic timing reference, to form a plurality of delays; and
using means for using the plurality of delays to adjust a delay in a reception of a data signal on each channel within the set of input channels to increase a setup and a hold time for the plurality of data signals. - View Dependent Claims (59, 60, 61, 62, 63, 64)
-
-
65. A computer program product in a computer readable medium for managing transmission of data signals on plurality of data lines, the computer program product comprising:
-
first instructions for receiving data signals on the plurality of data lines and a reference signal;
second instructions for measuring a delay between the data signal and the reference signal on each of the plurality of data lines, based on a periodic timing reference, to form a plurality of delay measurements;
third instructions for generating a set of delay values from the plurality of delay measurements; and
fourth instructions for using the set of delay values to adjust delay in a transmission in each of the plurality of data signals in the plurality of data lines.
-
-
66. A computer program product in a computer readable medium for equalizing a transmission of data signals in a plurality of input channels in a device, the computer program product comprising:
-
first instructions for receiving a data signal form each of the plurality of input channels in the device and a reference signal;
second instructions for identifying a delay between a transition in the data signal and a transition in the reference signal on each channel of the plurality of input channels, based on a periodic timing reference to form a plurality of delays; and
third instructions for using the plurality of delays to adjust a delay in a transmission of a data signal on each channel within the set of input channels to increase a setup and a hold time for the plurality of data signals.
-
Specification