Claims
- 1. A de-skew system comprising:
a plurality of data channels over which data is transmitted; a plurality of selectors coupled to the plurality of data channels; and a controller coupled to the plurality of selectors and configured to cause the selectors to provide data from a desired data channel for transmission over a forward data sample channel.
- 2. The system of claim 1 wherein data transmitted over the forward data sample channel comprises a forward data sample, the forward data sample further including a header.
- 3. The system of claim 2 wherein the header comprises a fixed pattern and at least one channel number.
- 4. The system of claim 2 wherein the header further comprises sample length and status words.
- 5. The system of claim 2 wherein the header precedes the forward data sample.
- 6. The system of claim 1 further comprising:
a processor receiving data from the plurality of data channels and the forward data sample channel; and a de-skew module configured to collect portions of the received data and to adjust collection of each of the received data based on the received forward data sample and the collected portions of the received data.
- 7. A de-skew system comprising:
a processor configured to receive input data and generate parallel data; a buffer unit receiving the generated parallel data and a clock signal and generating a plurality of data signals based on the received generated data and clock signal; and a control unit configured to collect portions of the plurality of data signals and to generate a forward data sample based on the collected portions of the plurality of data signals.
- 8. The system of claim 7 further comprising:
de-skew units each receiving at least one of the plurality of data signals and adjusting received data based on a timing signal; and control unit configured to collect portions of the plurality of data signals and to generate the timing signal based on the forward data sample and the collected portions of the plurality of data signals.
- 9. The system of claim 8 further comprising input drivers receiving the plurality of data signals and the forward data sample and supplying the plurality of data signals to the deskew units and the forward data sample to the control unit.
- 10. The system of claim 9 further comprising a buffer unit receiving data from the de-skew units and a clock signal and generating a plurality of data signals based on the received clock signal.
- 11. The de-skew system of claim 7 further comprising:
a delay unit receiving the forward data sample and generating a delayed forward data sample delayed by a predetermined amount of time; and wherein the control unit receives the delayed forward data sample and generates the timing signal based on the delayed forward data sample and the collected portions of the plurality of data signals.
- 12. A de-skew method comprising:
receiving data from a plurality of data channels; selecting a portion of data from each of the received data from the plurality of data channels; and generating a forward data sample comprising the selected portions of data.
- 13. The de-skew method of claim 12 further comprising
receiving the forward data sample; identifying the portion of data corresponding to the received data from the plurality of data channels; determining a delay based on timing between the portion of data and the corresponding received data; and passing the received data along the plurality of data channels after the determined delay.
- 14. A de-skew method comprising:
centering a forward data sample; comparing the forward data sample to data on one of the plurality of data channels; and determining a time variation between the data and the forward data sample when the forward data sample corresponds to the data.
- 15. The method of claim 14 further comprising delaying the forward data sample based on the determined time variation.
- 16. The method of claim 14 wherein centering the forward data sample further comprises:
setting a sampling point of a first data channel; and sampling the first data channel at the set sampling point.
- 17. The method of claim 14 wherein centering the forward data sample further comprises sampling the first data channel at a midpoint of a predetermined de-skew range.
- 18. The method of claim 14 wherein centering the forward data sample further comprises sampling the first data channel at approximate a center of a data eye of the first data channel and near a midpoint of a predetermined de-skew range.
- 19. A de-skew method comprising:
determining a channel number for a forward data sample; retrieving data from a data channel identified by the channel number, the data channel being a first data channel; comparing the data from the first data channel with a slice of delayed data from the forward data sample; and adjusting timing of the forward data sample when the data from the first data channel corresponds to the slice of the delayed data.
- 20. The method of claim 19 wherein adjusting time of the forward data sample comprises delaying the forward data sample by an amount of time the slice of delayed data is delayed.
- 21. A de-skew method comprising:
selecting data from specific channel of a plurality of channels; centering skew adjustment for the specific channel; adjusting a forward data sample until data in the forward data sample matches the selected data; selecting another channel of the plurality of channels; adjusting skew on the selected channel until data in the selected channel matches the forward data sample; and rotating through all the plurality of channels to select and adjust skew of all the plurality of channels to match the forward data sample.
- 22. The method of claim 21 further comprising:
receiving a header; and decoding the header to determine a channel number.
- 23. The method of claim 22 wherein the header comprises a fixed pattern and at least one channel number.
- 24. The method of claim 22 wherein the header further comprises sample length and status words.
- 25. The method of claim 22 wherein the header precedes the forward data sample.
- 26. The method of claim 25 where the forward data sample comprises a fixed quantity of data samples.
- 27. The method of claim 21 further comprising word aligning data from the plurality of channels.
- 28. The method of claim 21 further comprising byte aligning data from the plurality of channels.
- 29. The method of claim 21 wherein centering skew adjustment further comprises centering a sampling point of the selected channel.
- 30. The method of claim 21 wherein center skew adjustment further comprises:
sampling a plurality of points of data from the selected data channel; and comparing the plurality of sampled points to determine a center of the data of the selected data channel.
- 31. A de-skew system comprising:
a processor configured to receive input data and generate parallel data; a de-skew unit receiving the generated parallel data and a timing signal and adjusting timing of the generated parallel data, based on the timing signal, to generate a plurality of data signals; and a control unit configured to collect portions of the plurality of data signals and to receive a loop data sample and generating the timing signal based on a comparison of the collected portions of the plurality of data signals and the loop data sample.
- 32. The system of claim 31 further comprising:
a buffer unit receiving the plurality of data and a clock signal and generating a plurality of data signals based on the received clock signal; and a reverse control unit configured to collect portions of the plurality of data signals and to generate a loop data sample based on the collected portions of the plurality of data signals.
- 33. The de-skew system of claim 32 further comprising input drivers receiving input data.
- 34. A de-skew method comprising:
receiving a loop back data sample; determining a data channel specified by the loop back data sample; determining a delay for data from a specific channel when the determined data channel is the specific channel; and delaying data from the specific channel by the determined delay.
- 35. The method of claim 34 wherein determining a delay comprises:
providing data from the specific channel to a delay element; and comparing data from the delay element with the data from the loop back data sample.
- 36. The method of claim 35 wherein delaying the specific channel comprises adjusting the delay time of the delay element when the data from the delay element corresponds to the data from the loop back data sample.
- 37. The method of claim 34 further comprising setting the specific channel at a midpoint.
- 38. The method of claim 35 further comprising selecting another channel to supply data to the delay element.
- 39. The method of claim 34 further comprising comparing data from the loop back data sample with the delayed data from the specific channel when the determined data channel is the specific channel.
- 40. The method of claim 39 further comprising selecting another channel based on the comparison of the data from the loop back data sample with the delayed data.
- 41. The method of claim 39 further comprising:
determining a delay for the specific channel based on the comparison of the data from the loop back data sample with the delayed data; and adjusting the delay of the specific channel.
- 42. A method of deskewing parallel data channels between a transmitting unit and a receiving unit using a forward sample channel, the transmitting unit providing data signals to the receiving unit over the parallel data channels and also providing sample signals to the receiving unit over the forward sample channel, the method comprising:
selecting a data channel for deskewing; transmitting data over the data channel; transmitting the data over the forward sample channel; comparing received data transmitted over the data channel with received data transmitted over the forward sample channel; and deskewing the data channel based on the comparison.
- 43. The method of claim 42 further comprising selecting a further data channel for deskewing;
transmitting further data over the further data channel; transmitting the further data over the forward sample channel; comparing received further data transmitted over the further data channel with received further data transmitted over the forward sample channel; and deskewing the further data channel based on the comparison.
- 44. The method of claim 43 further comprising transmitting a header over the forward data sample.
- 45. The method of claim 44 wherein the header includes an indication of the selected channel.
- 46. The method of claim 45 wherein the header is transmitted over the forward sample channel prior to transmission of data for a data channel over the forward sample channel.
- 47. The method of claim 46 where deskewing is accomplished by adjusting a delay in the path of data received over the data channels in the receiving unit.
- 48. A method of deskewing parallel data lines comprising:
providing parallel data over a plurality of parallel data lines; successively providing sample data over a sample channel, the sample data corresponding to data of the parallel data; using the sample data to align the parallel data.
- 49. The method of deskewing parallel data lines of claim 48 wherein the parallel data lines provide parallel data from a first unit to a second unit and the sample channel provides sample data from the first unit to the second unit.
- 50. The method of deskewing parallel data lines of claim 48 wherein the parallel data lines provide parallel data from a first unit to a second unit and the sample channel provides sample data from the second unit to the first unit.
- 51. A system including deskew functions comprising:
an upstream unit providing parallel data to a downstream unit over parallel data channels; a downstream unit receiving the parallel data from the upstream unit over the parallel data channels; a sample channel coupling the upstream unit and the downstream unit, the sample channel carrying samples of the parallel data.
- 52. The system including deskew functions of claim 51 wherein the sample channel carries samples of the parallel data from the upstream unit to the downstream unit.
- 53. The system including deskew functions of claim 51 wherein the upstream unit includes a sampler for placing samples of data from a selected parallel data line on the sample channel.
- 54. The system including deskew functions of claim 53 wherein the downstream unit includes a deskew circuitry for each of the parallel data channels.
- 55. The system including deskew functions of claim 54 wherein the downstream unit includes control circuitry providing adjustments to the deskew circuitry based on a comparison of portions of the parallel data and data provided over the sample channel.
- 56. The system including deskew functions of claim 51 wherein the sample channel carries samples of the parallel data from the downstream unit to the upstream unit.
- 57. The system including deskew functions of claim 56 wherein the downstream unit includes a sampler for placing samples of data from a selected parallel data line on the sample channel.
- 58. The system including deskew functions of claim 57 wherein the upstream unit includes a deskew circuitry for each of the parallel data channels.
- 59. The system including deskew functions of claim 58 wherein the upstream unit includes control circuitry providing adjustments to the deskew circuitry based on a comparison of portions of the parallel data and data provided over the sample channel.
- 60. A system of two units coupled by parallel data lines comprising:
a first unit providing parallel data over N parallel data lines; a second unit receiving the parallel data over the N parallel data lines; a spare channel in parallel with the N parallel data lines, the first unit providing data of the parallel data lines over the spare channel, the second unit receiving the data of the parallel data lines over the spare channel; a return channel in parallel with the N parallel data lines, the second unit providing data of the parallel data lines over the return channel, the first unit receiving the data of the parallel data lines over the return channel; and at least one unit in the first unit deskewing the N parallel data lines using data of the parallel data lines received over the return channel.
- 61. The system of two units coupled by parallel data lines of claim 60 wherein the second unit includes a selector for replacing data from a selected one of the N parallel data lines with data from the spare channel.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. provisional application No. 60/259,968 filed Dec. 30, 2000, No. 60/260,079 filed Jan. 4, 2001, No. 60/260,628 filed Jan. 8, 2001, No. 60/261,868, filed Jan. 10, 2001, No. 60/272,635, filed Feb. 28, 2001, and No. 60/273,763, filed Mar. 5, 2001 which are hereby incorporated by reference as if set forth in full herein.
Provisional Applications (6)
|
Number |
Date |
Country |
|
60259968 |
Dec 2000 |
US |
|
60260079 |
Jan 2001 |
US |
|
60260628 |
Jan 2001 |
US |
|
60261868 |
Jan 2001 |
US |
|
60272635 |
Feb 2001 |
US |
|
60273763 |
Mar 2001 |
US |