Claims
- 1. A method, comprising:
determining if a link upon which a cell was received was an expected link in a predetermined round-robin order; waiting for arrival of a cell on the expected link for up to the value of a timer for the expected link if the link upon which the cell was received was not the expected link in the round-robin order; removing the link from the round-robin order; and correcting cell synchronization.
- 2. The method of claim 1, further comprises receiving the cell on the link of a bundle.
- 3. The method of claim 1, further comprising:
combining multiple parallel links between two devices in a computer system or network into a single channel; receiving cells on a plurality of links in the round-robin order; and compensating for variations in flight time between the plurality of links using the timer at each receive port of the bundle.
- 4. The method of claim 1, where the value of the timer represents the worst-case flight time of the smallest possible cell across a particular physical link.
- 5. The method of claim 1, wherein the removing of the link further comprises advancing the expected link of the round-robin order to the next link, which has already received a cell when the previous expected link has not received a cell within the value of said timer.
- 6. The method of claim 1, wherein the correcting of the cell synchronization is performed by:
emptying the port buffers in a best effort fashion; and processing the cell with the lowest bundle sequence number first.
- 7. The method of claim 6, further comprises determining cell synchronization of the link based on the occurrence of a linear sequence of bundle sequence numbers a number of times in a row.
- 8. The method of claim 7, where the number equals the number of links in the bundle.
- 9. The method of claim 5, further comprising:
sending a signal to a fabric manager which removes failed links from the round-robin order; and dispatching all cells over the remaining links until the failed link receives a new bundle configuration or resynchronizes.
- 10. The method of claim 9, further comprises skipping a bundle sequence number corresponding to the failed link when the transmitter passes the link in the round-robin order.
- 11. An apparatus, comprising:
a central processing unit (CPU); and a receiver, coupled with the CPU, to determine if a link upon which a cell was received was an expected link in a predetermined round-robin order, to wait for arrival of a cell on the expected link for up to the value of a timer for the expected link if the link upon which the cell was received was not the expected link in the round-robin order, to remove the link from the round-robin order, and to correct cell synchronization.
- 12. The apparatus of claim 11, wherein the receiver is further to receive the cell on the link of a bundle.
- 13. The apparatus of claim 11, wherein the receiver is further to combine multiple parallel links between two devices in a computer system or network into a single channel, to receive cells on a plurality of links in the round-robin order, and to compensate for variations in flight time between the plurality of links using the timer at each receive port of the bundle.
- 14. The apparatus of claim 11, wherein the value of the timer represents the worst-case flight time of the smallest possible cell across the particular physical link.
- 15. The apparatus of claim 11, wherein the receiver is further to advance the expected link of the round-robin order to the next link, which has already received a cell when the previous expected link has not received a cell within the value of the timer.
- 16. The apparatus of claim 11, wherein the receiver to correct cell synchronization by:
emptying the port buffers in a best effort fashion; and processing the cell with the lowest bundle sequence number first.
- 17. The apparatus of claim 16, wherein the receiver to determine cell synchronization of the link based on the occurrence of a linear sequence of bundle sequence numbers a number of times in a row.
- 18. The apparatus of claim 17, wherein the number equals the number of links in the bundle.
- 19. The apparatus of claim 15, wherein the receiver is further to:
send a signal to a fabric manager which removes failed links from the round-robin order; and dispatch all cells over the remaining links until the failed link receives a new bundle configuration or resynchronizes.
- 20. The apparatus of claim 19, wherein the receiver if further to skip a bundle sequence number corresponding to the failed link when the transmitter passes the link in the round-robin order.
- 21. A system, comprising:
a central processing unit (CPU); a receiver, coupled with the CPU, to determine if a link upon which a cell was received was an expected link in a predetermined round-robin order, to wait for arrival of a cell on the expected link for up to the value of a timer for the expected link if the link upon which the cell was received was not the expected link in the round-robin order, to remove the link from the round-robin order, and to correct cell synchronization; a peripheral device coupled with the CPU; and a transmitter coupled with the CPU, the transmitter to transmit a plurality of links between the CPU and the peripheral device as a bundle.
- 22. The system of claim 21, wherein the receiver is further to receive the cell on the link of the bundle.
- 23. The system of claim 21, wherein the receiver is further to combine multiple parallel links between two devices in a computer system or network into a single channel, to receive cells on the plurality of links in the round-robin order, and to compensate for variations in flight time between the plurality of links using the timer at each receive port of the bundle.
- 24. The system of claim 21, wherein the value of the timer represents the worst-case flight time of the smallest possible cell across the particular physical link.
- 25. The system of claim 21, wherein the receiver is further to advance the expected link of the round-robin order to the next link, which has already received a cell when the previous expected link has not received a cell within the value of the timer.
- 26. The system of claim 21, wherein the receiver to correct cell synchronization by:
emptying the port buffers in a best effort fashion; and processing the cell with the lowest bundle sequence number first.
- 27. The apparatus of claim 26, wherein the receiver to determine cell synchronization of the link based on the occurrence of a linear sequence of bundle sequence numbers a number of times in a row.
- 28. A machine-readable medium having stored thereon data representing sets of instructions which, when executed by a machine, cause the machine to:
determine if a link upon which a cell was received was an expected link in a predetermined round-robin order; wait for arrival of a cell on the expected link for up to the value of a timer for the expected link if the link upon which the cell was received was not the expected link in the round-robin order; remove the link from the round-robin order; and correct cell synchronization.
- 29. The machine-readable medium of claim 28, wherein the sets of instructions which, when executed by the machine, further cause the machine to receive the cell on the link of a bundle.
- 30. The machine-readable medium of claim 38, wherein the sets of instructions which, when executed by the machine, further cause the machine to:
combine multiple parallel links between two devices in a computer system or network into a single channel; receive cells on a plurality of links in the round-robin order; and compensate for variations in flight time between the plurality of links using the timer at each receive port of the bundle.
- 31. The machine-readable medium of claim 28, wherein the value of the timer represents the worst-case flight time of the smallest possible cell across a particular physical link.
- 32. The machine-readable medium of claim 28, wherein the removing of the link further causes the machine to advance the expected link of the round-robin order to the next link, which has already received a cell when the previous expected link has not received a cell within the value of said timer.
- 33. The machine-readable medium of claim 28, wherein the correcting of cell synchronization further causes the machine to:
empty the port buffers in a best effort fashion; and process the cell with the lowest bundle sequence number first.
- 34. The machine-readable medium of claim 33, wherein the sets of instructions which, when executed by the machine, further cause the machine to determine cell synchronization of the link based on the occurrence of a linear sequence of bundle sequence numbers a number of times in a row.
RELATED APPLICATIONS AND CLAIM OF PRIORITY
[0001] This is continuation of U.S. application Ser. No. 09/557,099, filed on Apr. 21, 2000, now allowed, which is continuation-in-part of U.S. application Ser. No. 09/470,189, filed on Dec. 22, 1999, now U.S. Pat. No. 6,646,991, issued on Nov. 11, 2003, and the priority is claimed thereof.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09557099 |
Apr 2000 |
US |
Child |
10745903 |
Dec 2003 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09470189 |
Dec 1999 |
US |
Child |
09557099 |
Apr 2000 |
US |