IP Library Granted Patent US 11,687,264
Granted Patent B2
US 11,687,264 · App. 15/721,053 · Granted Jun 27, 2023

Technologies for accelerator interface

Inventors: Chih-Jen Chang (Union City, CA); Brad Burres (Waltham, MA); Jose Niell (Franklin, MA); Dan Biederman (Saratoga, CA); Robert Cone (Portland, OR); Pat Wang (San Jose, CA); Kenneth Keels (Austin, TX); Patrick Fleming (Portlaoise, IE)
Assignee: Intel Corporation
G06F3/0641G06F3/0604G06F3/065G06F3/067G06F3/0608G06F3/0611G06F3/0613G06F3/0617G06F3/0647G06F3/0653G06F7/06G06F8/65G06F8/654G06F8/656G06F8/658G06F9/3851G06F9/3891G06F9/4401G06F9/45533G06F9/4843G06F9/4881G06F9/5005G06F9/505G06F9/5038G06F9/5044G06F9/5083G06F9/544G06F11/0709G06F11/079G06F11/0751G06F11/3006G06F11/3034G06F11/3055G06F11/3079G06F11/3409G06F12/0284G06F12/0692G06F13/1652G06F16/1744G06F21/57G06F21/6218G06F21/73G06F21/76G06T1/20G06T1/60G06T9/005H01R13/453H01R13/4536H01R13/4538H01R13/631H03K19/1731H03M7/3084H03M7/40H03M7/42H03M7/60H03M7/6011H03M7/6017H03M7/6029H04L9/0822H04L12/2881H04L12/4633H04L41/044H04L41/0816H04L41/0853H04L41/12H04L43/04H04L43/06H04L43/08H04L43/0894H04L47/20H04L47/2441H04L49/104H04L61/5007H04L67/10H04L67/1014H04L67/63H04L67/75H05K7/1452H05K7/1487H05K7/1491G06F11/1453G06F12/023G06F15/80G06F16/285G06F2212/401G06F2212/402G06F2221/2107H04L41/046H04L41/0896H04L41/142H04L47/78H04L63/1425H04Q11/0005H05K7/1447H05K7/1492
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 11,687,264
App. No.
15/721,053
Granted
Jun 27, 2023
Kind
B2
Abstract

Technologies for an accelerator interface over Ethernet are disclosed. In the illustrative embodiment, a network interface controller of a compute device may receive a data packet. If the network interface controller determines that the data packet should be pre-processed (e.g., decrypted) with a remote accelerator device, the network interface controller may encapsulate the data packet in an encapsulating network packet and send the encapsulating network packet to a remote accelerator device on a remote compute device. The remote accelerator device may pre-process the data packet (e.g., decrypt the data packet) and send it back to the network interface controller. The network interface controller may then send the pre-processed packet to a processor of the compute device.

Claims (91)

1. An apparatus comprising:

a network interface controller comprising circuitry to:

receive a data packet;

encapsulate the data packet in an encapsulating network packet, wherein a payload of the encapsulating network packet includes the data packet;

send the encapsulating network packet to an accelerator device for processing;

receive, from the accelerator device, an encapsulating response network packet which includes a processed data packet that is based on the data packet;

provide the processed data packet to a processor;

receive a second encapsulating network packet, wherein the second encapsulating network packet is to encapsulate transaction data; and

provide the transaction data to the accelerator device to perform a transaction based on the transaction data.

2. The apparatus of claim 1 , wherein to encapsulate the data packet in the encapsulating network packet comprises encapsulate the data packet in an Ethernet packet.

3. The apparatus of claim 1 , wherein to send the encapsulating network packet to the accelerator device for processing comprises to send the encapsulating network packet to the accelerator device for decryption and

wherein to receive the encapsulating response network packet which includes the processed data packet comprises to receive the encapsulating response network packet which includes decrypted content of the data packet.

4. The apparatus of claim 1 , wherein the network interface controller is further to:

receive a second data packet; and

provide the second data packet to the accelerator device for processing,

wherein the accelerator device is to process the second data packet and provide the processed second data packet to the network interface controller,

wherein the network interface controller is further to provide the processed second data packet to the processor.

5. The apparatus of claim 4 , wherein to process the second data packet comprises to decrypt the second data packet.

6. The apparatus of claim 1 , wherein the network interface controller is to:

provide second transaction data to the accelerator device, wherein the second transaction data indicates a transaction to be performed by the accelerator device on content of at least one packet received from the network interface controller.

7. The apparatus of claim 1 , wherein the processor is to provide a second data packet to the network interface controller, and wherein the network interface controller is further to:

encapsulate the second data packet in a second encapsulating network packet;

send the second encapsulating network packet to the accelerator device for processing;

receive, from the accelerator device, a second encapsulating response network packet which includes a second processed data packet; and

send the second processed data packet over a network.

8. The apparatus of claim 1 , comprising the processor.

9. The apparatus of claim 1 , comprising the accelerator device.

10. A method comprising:

receiving, by a network interface controller, a data packet;

encapsulating, by the network interface controller, the data packet in an encapsulating network packet, wherein a payload of the encapsulating network packet includes the data packet;

sending, by the network interface controller, the encapsulating network packet to an accelerator device for processing;

receiving, by the network interface controller and from the accelerator device, an encapsulating response network packet which includes a version of the data packet after processing;

providing, by the network interface controller, the processed data packet to a processor;

receiving, by the network interface controller, a second encapsulating network packet, wherein the second encapsulating network packet is to encapsulate transaction data; and

providing, by the network interface controller, the transaction data to the accelerator device to perform a transaction based on the transaction data.

11. The method of claim 10 , wherein encapsulating the data packet in the encapsulating network packet comprises encapsulating the data packet in an Ethernet packet.

12. The method of claim 10 , wherein sending the encapsulating network packet to the accelerator device for processing comprises sending the encapsulating network packet to the accelerator device for decrypting, and

wherein receiving the encapsulating response network packet which includes the data packet after processing comprises receiving the encapsulating response network packet which includes the data packet after decryption.

13. The method of claim 10 , further comprising:

receiving, by the network interface controller, a second data packet;

providing, by the network interface controller, the second data packet to a second accelerator device for processing; and

providing, by the network interface controller, processed second data packet from the second accelerator device to the processor.

14. The method of claim 13 , wherein processing the second data packet comprises decrypting the second data packet.

15. The method of claim 10 , further comprising:

receiving transaction data at the network interface controller, wherein the transaction data indicates a transaction to be performed on the accelerator device;

encapsulating, by the network interface controller, the transaction data in a second encapsulating network packet; and

sending, by the network interface controller, the second encapsulating network packet to the accelerator device.

16. The method of claim 10 , further comprising:

receiving, from the processor, a second data packet at the network interface controller

encapsulating, by the network interface controller, the second data packet in a second encapsulating network packet;

sending, by the network interface controller, the second encapsulating network packet to the accelerator device for processing;

receiving, by the network interface controller and from the accelerator device, a second encapsulating response network packet which includes a second processed data packet; and

sending, by the network interface controller, the second processed data packet over a network.

17. A compute device comprising:

circuitry for receiving a data packet at a network interface controller;

means for encapsulating the data packet in an encapsulating network packet, wherein a payload of the encapsulating network packet includes the received data packet;

circuitry for sending the encapsulating network packet to an accelerator device for processing;

circuitry for receiving, from the accelerator device, an encapsulating response network packet which includes the data packet after processing;

means for providing the processed data packet to a processor of the compute device;

means for receiving a second encapsulating network packet, wherein the second encapsulating network packet is to encapsulate transaction data; and

means for providing the transaction data to the accelerator device to perform a transaction based on the transaction data.

18. The compute device of claim 17 , wherein the circuitry for sending the encapsulating network packet to the accelerator device for processing comprises circuitry for sending the encapsulating network packet to the accelerator device for decrypting, and

wherein the circuitry for receiving the encapsulating response network packet which includes the data packet after processing comprises circuitry for receiving the encapsulating response network packet which includes the data packet after decryption.

19. The compute device of claim 17 , further comprising;

a second accelerator device;

means for receiving, by the network interface controller, a second data packet;

means for providing, by the network interface controller, the second data packet to the second accelerator device for processing; and

means for providing, by the network interface controller, the second data packet processed by the second accelerator device to the processor of the compute device.

20. The compute device of claim 17 , further comprising:

means for receiving a second data packet, from the processor, at the network interface controller;

means for encapsulating, by the network interface controller, the second data packet in a second encapsulating network packet;

means for sending, by the network interface controller, the second encapsulating network packet to the accelerator device for processing;

means for receiving, by the network interface controller and from the accelerator device, a second encapsulating response network packet which includes a second processed data packet; and

means for sending, by the network interface controller, the second processed data packet over a network.

21. An apparatus comprising:

a network interface controller and

circuitry to provide transaction data to the network interface controller, wherein the transaction data is to indicate a transaction to be performed on an accelerator device and wherein the network interface controller is to:

encapsulate the transaction data in an encapsulating network packet;

send the encapsulating network packet to the accelerator device;

receive a second encapsulating network packet, wherein the second encapsulating network packet is to encapsulate second transaction data; and

provide the second transaction data to the accelerator device, wherein the accelerator device is further to perform a transaction based on the second transaction data.

22. The apparatus of claim 21 , wherein to encapsulate the transaction data in the encapsulating network packet comprises to encapsulate the transaction data in an Ethernet packet.

23. The apparatus of claim 21 , wherein the second encapsulating network packet comprises an Ethernet packet.

24. An apparatus comprising:

a network interface controller comprising an interface and circuitry, the circuitry to:

provide a processed data packet to a processor, wherein the network interface controller is to receive the processed data packet in at least one packet and the processed data packet was processed by an accelerator device based on a request from the network interface controller sent in a first encapsulating network packet;

receive a second encapsulating network packet, wherein the second encapsulating network packet is to encapsulate transaction data; and

provide the transaction data to the accelerator device to perform a transaction based on the transaction data.

25. The apparatus of claim 24 , wherein, prior to receipt of the processed data packet: the network interface controller is to provide the data packet, received by the network interface controller, to the accelerator device in a payload of at least one packet to process the data packet.

26. The apparatus of claim 24 , wherein the network interface controller is to configure the accelerator device to process the data packet.

27. The apparatus of claim 24 , comprising the processor coupled to the network interface controller by the interface.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2021
From: INTEL IP CORPORATION
To: INTEL CORPORATION
Reel/Frame 056337/0609 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2017
From: CHANG, CHIH-JEN; BURRES, BRAD; NIELL, JOSE; BIEDERMAN, DAN; CONE, ROBERT; WANG, PAT; KEELS, KENNETH; FLEMING, PATRICK
To: INTEL IP CORPORATION
Reel/Frame 044101/0213 →
Priority Claims (1)
IN 201741030632 · Aug 30, 2017 · national
Continuity (2)
Provisional Application 62427268 · Nov 29, 2016
Related Publication 20180152317A1 · May 31, 2018
Cited By (4)
US 12,210,468 US 12,229,057 US 12,380,041 US 12,457,276