IP Library Granted Patent US 8,949,497
Granted Patent B2
US 8,949,497 · App. 13/230,694 · Granted Feb 3, 2015

Method and apparatus for interleaving bursts of high-speed serial interconnect link training with bus data transactions

Inventors: Michael Hopgood (San Jose, CA); Wei-Je Huang (Fremont, CA); Mark Taylor (Mountain View, CA); Hitendra Dutt (Sunnyvale, CA); David Wyatt (San Jose, CA); Vishal Mehta (San Jose, CA)
Assignee: NVIDIA Corporation
G06F13/00
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,949,497
App. No.
13/230,694
Granted
Feb 3, 2015
Kind
B2
Abstract

In an apparatus according to one embodiment of the present disclosure, a communications link comprises a first device and a second device communicating with each other via the communications link at a plurality of different speeds. However, prior to communicating via the communications link for the first time at a second speed, the first device and second device complete a first training cycle at the second speed. Further, during this first training cycle for the second speed, the first training cycle for the second speed will pause before the first training cycle at the second speed completes, and the first device and second device communicate at a first speed for a period of time before returning to the paused first training cycle at the second speed. When the paused first training cycle for the second speed continues, the first training cycle for the second speed will continue where it had paused.

Claims (47)

1. A system comprising:

a first device and a second device;

a communications link; and

a memory, wherein the memory stores instructions that when executed by the system perform a method of communications link training, the method comprising:

requesting a speed change to a second speed for the first device communicating with the second device at a first speed via the communications link;

performing a first training cycle for the first device and the second device at the second speed;

pausing the first training cycle before the first training cycle completes;

communicating data between the first device and the second device at the first speed for a period of time; and

continuing the first training cycle for the first device and the second device at the second speed, wherein the first training cycle at the second speed continues at a point where the first training cycle paused.

2. The system of claim 1 , wherein the pausing the first training cycle takes place after a selected period of time.

3. The system of claim 2 , wherein the selected period of time is a lowest idle time of idle times permitted by the first device and the second device.

4. The system of claim 1 , wherein the data to be communicated between the first device and second device is stored in a buffer of one of the first and second devices during the first training cycle for the second speed.

5. The system of claim 1 , wherein the method of communications link training further comprises:

performing a second training cycle for the first device and second device at the second speed, wherein the second training cycle is performed after the first training cycle has completed and the first device and second device have communicated data at the second speed.

6. The system of claim 5 , wherein the performing the second training cycle is performed when an error rate of the first device and second device communicating at the second speed is above a threshold.

7. The system of claim 1 , wherein a training cycle comprises:

selecting a plurality of parameters for a transmitter of the first device and a receiver of the second device; and

selecting a plurality of parameters for a transmitter of the second device and a receiver of the first device.

8. The system of claim 7 , wherein the pluralities of parameters selected are optimal parameters for the first device and the second device as determined by at least one parameter selection and evaluation process.

9. A communications link training method comprising:

requesting a speed change to a second speed for a first device communicating with a second device at a first speed via the communications link;

performing a first training cycle for the first device and the second device at the second speed;

pausing the first training cycle before the first training cycle completes;

communicating data between the first device and the second device at the first speed for a period of time; and

continuing the first training cycle for the first device and the second device at the second speed, wherein the first training cycle at the second speed continues at a point where the first training cycle paused.

10. The communications link training method of claim 9 , wherein pausing the first training cycle takes place after a selected period of time.

11. The communications link training method of claim 10 , wherein the selected period of time is a lowest idle time of idle times permitted by the first device and the second device.

12. The communications link training method of claim 9 , wherein data to be communicated between the first device and second device is stored in a buffer of one of the first and second devices during the first training cycle for the second speed.

13. The communications link training method of claim 9 further comprising:

performing a second training cycle for the first device and second device at the second speed, wherein the second training cycle is performed after the first training cycle has completed and the first device and second device have communicated data at the second speed.

14. The communications link training method of claim 13 , wherein performing the second training cycle is performed when an error rate of the first device and second device communicating at the second speed is above a threshold.

15. The communications link training method of claim 9 , wherein a training cycle comprises:

selecting a plurality of parameters for a transmitter of the first device and a receiver of the second device; and

selecting a plurality of parameters for a transmitter of the second device and a receiver of the first device.

16. A non-transitory computer readable storage medium comprising computer-executable instructions stored therein, the computer-executable instructions comprising:

instructions to request a speed change to a second speed for a first device communicating with a second device at a first speed via a communications link;

instructions to perform a first training cycle for the first device and the second device at the second speed;

instructions to pause the first training cycle before the first training cycle completes;

instructions to communicate data between the first device and the second device at the first speed for a period of time; and

instructions to continue the first training cycle for the first device and the second device at the second speed, wherein the first training cycle at the second speed continues at a point where the first training cycle paused.

17. The non-transitory computer readable storage medium of claim 16 , wherein pausing the first training cycle takes place after a selected period of time, and wherein the selected period of time is a lowest idle time of idle times permitted by the first device and the second device.

18. The non-transitory computer readable storage medium of claim 16 , wherein the computer-executable instructions further comprise:

instructions to perform a second training cycle for the first device and second device at the second speed, wherein the second training cycle is performed after the first training cycle has completed and the first device and second device have communicated data at the second speed.

19. The non-transitory computer readable storage medium of claim 18 , wherein performing the second training cycle is performed when an error rate of the first device and second device communicating at the second speed is above a threshold.

20. The non-transitory computer readable storage medium of claim 16 , wherein a training cycle comprises:

instructions to select a plurality of parameters for a transmitter of the first device and a receiver of the second device; and

instructions to select a plurality of parameters for a transmitter of the second device and a receiver of the first device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2011
From: HOPGOOD, MICHAEL; HUANG, WEI-JE; TAYLOR, MARK; DUTT, HITENDRA; WYATT, DAVID; MEHTA, VISHAL
To: NVIDIA CORPORATION
Reel/Frame 026890/0751 →
Continuity (1)
Related Publication 20130067127A1 · Mar 14, 2013