IP Library Granted Patent US 11,960,596
Granted Patent B2
US 11,960,596 · App. 17/199,200 · Granted Apr 16, 2024

Network interface device

Inventors: Steven Leslie Pope (Cambridge, GB); Derek Edward Roberts (Cambridge, GB); Dmitri Kitariev (Newport Beach, CA); Neil Duncan Turton (Cambridge, GB); David James Riddoch (Cambridgeshire, GB); Ripduman Sohan (Washington, DC)
Assignee: XILINX, INC.
G06F21/53G06F21/57H04L63/0218
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,960,596
App. No.
17/199,200
Granted
Apr 16, 2024
Kind
B2
Abstract

A network interface device comprises a first area of trust comprising a first part of the network interface device, the first part comprising one or more first kernels. A second area of trust comprising a second part of the network interface device different to said first part is provided, the second part comprising one or more second kernels. A communication link is provided between the first area of trust and the second area of trust. At least one of the first and second areas of trust is provided with isolation circuitry configured to control which data which is passed to the other of the first and second areas via the communication link.

Claims (26)

1. A network interface card (NIC) comprising:

a first area of trust comprising a first part of the NIC, wherein a first kernel is in the first area of trust and the first area of trust is associated with a first address space;

a second area of trust comprising a second part of the NIC different to the first part, wherein a second kernel is in the second area of trust and the second area of trust is associated with a second address space, separate from the first address space; and

a communication link between the first area of trust and the second area of trust,

wherein the first area of trust is provided with isolation circuitry associated with the first kernel and configured to control which data is passed to the second area of trust via the communication link.

2. The network interface device as claimed in claim 1 , wherein hardware provided in one area of trust has restricted access to hardware in the other area of trust, wherein the first and second area of trusts comprise non-overlapping hardware and the first and second kernels are different.

3. The network interface device as claimed in claim 1 , wherein the isolation circuitry is configured to use header values of the data to determine which data can be passed to the other of the first and second areas of trust.

4. The network interface device as claimed in claim 1 , wherein the isolation circuitry associated with the first area of trust is configured to modify received data to be in a form used in the first area of trust.

5. The network interface device as claimed in claim 1 , wherein the isolation circuitry associated with the first area of trust is configured to modify data to be output from the first area of trust to remove a part of the data required in the first area of trust but is not required in the second area of trust.

6. The network interface device as claimed in claim 1 , wherein the isolation circuitry is configured to determine adherence to a communication link protocol of the communication link.

7. The network interface device as claimed in claim 1 , wherein the isolation circuitry is configured to terminate one or more request indicating one or more of reset or reconfiguration of one or more of the first and second kernels.

8. The network interface device as claimed in claim 1 , wherein one or more other kernels sharing a same privilege with the first kernel are in the first area of trust and are associated with the first kernel, and wherein the first kernel comprises at least one of an entry point module or an exist point module of the first area of trust and is associated with the isolation circuitry.

9. The network interface device as claimed in claim 1 , wherein the first area of trust is associated with a first data flow and the second area of trust is associated with a second different data flow.

10. The network interface device as claimed in claim 1 , wherein the first area of trust is associated with a first application and the second area of trust is associated with a second, different, application.

11. The network interface device as claimed in claim 1 , wherein the first kernel is configured to be one of inserted and removed at run time.

12. The network interface device as claimed in claim 11 , wherein the network interface device is configured such that once the first kernel is loaded, a hardware linker for the first kernel is provided linking the first kernel to another kernel, the hardware linker being configured such that only data associated with an allowed data flow can be one or more of received and output by the first kernel.

13. The network interface device as claimed in claim 12 , wherein the hardware linker provides the communication link between the first and second areas of trust and at least a part of the isolation circuitry in the first area of trust.

14. The network interface device as claimed in claim 1 , wherein the first kernel of the first area of trust is configured to process data and to provide a part of the data to the second kernel of the second area of trust.

15. The network interface device as claimed in claim 1 , wherein the first kernel of the first area of trust is configured to at least one of: at least partially protocol process data; decrypt data; or encrypt data.

16. The network interface device as claimed in claim 1 , wherein the second kernel of the second area of trust is configured to support a data storage application.

17. The network interface device as claimed in claim 1 , wherein the first area of trust is configured to provide data to a third area of trust in the network interface device.

18. The network interface device as claimed in claim 17 , wherein the isolation circuitry is configured to prevent data from one of the second or third areas of trust from being pushed to the other of the second or third areas of trust.

19. The network interface device as claimed in claim 1 , wherein at least one of the first and second area of trust extends to a host computing device.

20. A method in a network interface device comprising:

linking a first area of trust and a second area of trust, the first area of trust comprising a first part of the network interface card (NIC), wherein a first kernel is in the first area of trust and the first area of trust is associated with a first address space, and the second area of trust comprising a second part of the network interface card (NIC) different to the first part, wherein a second kernel is in the second area of trust and the second area of trust is associated with a second address space, separate from the first address space; and

using isolation circuitry associated with the first kernel to control data which is passed between the first area of trust and the second area of trust.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2024
From: POPE, STEVEN LESLIE; ROBERTS, DEREK EDWARD; KITARIEV, DMITRI; TURTON, NEIL DUNCAN; RIDDOCH, DAVID JAMES; SOHAN, RIPDUMAN
To: XILINX, INC.
Reel/Frame 066188/0656 →
Continuity (1)
Related Publication 20220292184A1 · Sep 15, 2022
Cited By (1)
US 12,407,655