IP Library › Granted Patent US 10,873,525
Granted Patent B2
US 10,873,525 · App. 16/116,824 · Granted Dec 22, 2020

Dynamic asymmetric communication path allocation

Inventors: Dmitriy Berchanskiy (Roseville, CA); Huimin Chen (Beaverton, OR); Udaya Natarajan (El Dorado Hills, CA)
Assignee: Intel Corporation
H04L45/24H04L45/121H04L45/22H04L45/38H04L45/66H04L47/2416H04L47/2483
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 10,873,525
App. No.
16/116,824
Granted
Dec 22, 2020
Kind
B2
Abstract

An apparatus may comprise a port to couple to a plurality of communication paths comprising a first, second, third, and fourth communication path, the communication paths each having a direction of either a receive path or a transmit path, the communication paths comprising a first communication path having a direction that may be selectively configured as a receive path or a transmit path. The apparatus further comprises a controller comprising circuitry, the controller to in response to a communication path reconfiguration command, reconfigure the direction of the first communication path such that the first communication path, second communication path, and third communication path have the same direction and the fourth communication path has a direction opposite to the direction of the first, second, and third communication paths.

Claims (37)

1. An apparatus comprising:

a port to couple to a plurality of communication paths comprising a first, second, third, and fourth communication path, the plurality of communication paths each having a direction of either a receive path or a transmit path, wherein the first communication path has a direction that may be selectively configured as a receive path or a transmit path; and

a controller comprising circuitry, the controller to:

in response to a communication path reconfiguration command generated based on a latency associated with reconfiguration of a direction of the first communication path and a size of a data transfer, reconfigure the direction of the first communication path such that the first communication path, second communication path, and third communication path have the same direction and the fourth communication path has a direction opposite to the direction of the first, second, and third communication paths.

2. The apparatus of claim 1 , wherein the controller is further to receive the communication path reconfiguration command from a software driver.

3. The apparatus of claim 2 , the software driver to generate the communication path reconfiguration command in response to an expected asymmetric traffic flow across the plurality of communication paths.

4. The apparatus of claim 2 , further comprising a processor core to execute the software driver, wherein the software driver is to determine to generate the communication path reconfiguration command based on the latency associated with reconfiguration of the first communication path and the size of a data transfer.

5. The apparatus of claim 2 , wherein the software driver is to:

during initialization of a link to a device coupled to the plurality of communication paths, store an indication that the device is capable of reconfiguring the direction of the first communication path; and

generate the communication path reconfiguration command in response to checking the indication to verify that the device is capable of reconfiguring the direction of the first communication path.

6. The apparatus of claim 1 , the controller further to:

in response to the communication path reconfiguration command, send a request to a controller of a device coupled to the plurality of communication paths, the request to specify reconfiguration of the direction of the first communication path.

7. The apparatus of claim 6 , wherein the request is included in a Port Configuration Link Management Packet (LMP).

8. The apparatus of claim 6 , wherein the request is embedded within a link training packet.

9. The apparatus of claim 6 , the controller further to:

receive an acknowledgment from the controller of the device in response to the request.

10. The apparatus of claim 9 , wherein the acknowledgement is included in a Port Configuration Response Link Management Packet (LMP).

11. The apparatus of claim 1 , wherein:

the direction of the second communication path is selectively configurable as a receive path or a transmit path;

the direction of the third communication path is fixed as a transmit path; and

the direction of the fourth communication path is fixed as a receive path.

12. The apparatus of claim 1 , wherein, in response to the communication path reconfiguration command, the controller is to cause reconfiguration of the direction of the first communication path from a receive path to a transmit path such that three of the plurality of communication paths are configured as transmit paths and one of the plurality of communication paths is configured as a receive path.

13. The apparatus of claim 12 , the controller further to transmit a data packet in a striped manner across the three transmit paths and a header associated with the data packet in a replicated manner across the three transmit paths.

14. The apparatus of claim 1 , further comprising a second port to couple to a plurality of second communication paths, wherein, in response to an expected asymmetric traffic flow, the controller is to:

reconfigure the direction of the first communication path from a receive path to a transmit path; and

reconfigure a direction of a communication path of the plurality of second communication paths from a transmit path to a receive path.

15. A system comprising:

a processor comprising circuitry, the processor to execute a software driver, the software driver to:

receive, from an operating system, information associated with a data transfer, wherein the information associated with the data transfer includes a latency associated with reconfiguration of a direction of a first communication path of a plurality of communication paths and a size of a data transfer; and

in response to the information associated with the data transfer, send a communication path reconfiguration command to a communication controller, wherein the communication path reconfiguration command is to cause the communication controller to reconfigure the direction of the first communication path of the plurality of communication paths, the plurality of communication paths comprising the first communication path and second, third, and fourth communication paths, the communication paths each having a direction of either a receive path or a transmit path, wherein the direction of the first communication path is selectively configurable between a transmit path or a receive path and reconfiguration of the first communication path results in a configuration in which the first, second, and third communication paths have the same direction and the fourth communication path has a direction opposite to the direction of the first, second, and third communication paths.

16. The system of claim 15 , further comprising the communication controller and a port to couple to the first communication path.

17. The system of claim 15 , wherein the software driver is to generate the communication path reconfiguration command in response to an expected asymmetric traffic flow across a plurality of communication paths.

18. A non-transitory machine readable medium including instructions that, when executed by a machine, are to:

receive information associated with a data transfer, wherein the information associated with the data transfer includes a latency associated with reconfiguration of a direction of a first communication path of a plurality of communication paths and a size of a data transfer; and

in response to the information associated with the data transfer, send a communication path reconfiguration command to a communication controller, wherein the communication path reconfiguration command is to cause the communication controller to reconfigure the direction of the first communication path of the plurality of communication paths, the plurality of communication paths comprising the first communication path and second, third, and fourth communication paths, the plurality of communication paths each having a direction of either a receive path or a transmit path, wherein the direction of the first communication path is selectively configurable between a transmit path or a receive path and reconfiguration of the first communication path results in a configuration in which the first, second, and third communication paths have the same direction and the fourth communication path has a direction opposite to the direction of the first, second, and third communication paths.

19. The medium of claim 18 , wherein the instructions when executed are further to determine to generate the communication path reconfiguration command based on the latency associated with reconfiguration of the first communication path and the size of a data transfer.

20. The medium of claim 18 , wherein the instructions when executed are further to generate the communication path reconfiguration command in response to an expected asymmetric traffic flow across a plurality of communication path.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2019
From: CHEN, HUIMIN; NATARAJAN, UDAYA; BERCHANSKIY, DMITRIY
To: INTEL CORPORATION
Reel/Frame 048895/0928 →
Continuity (1)
Related Publication 20190089624A1 · Mar 21, 2019
Cited By (1)
US 12,430,140