IP Library Granted Patent US 11,620,255
Granted Patent B2
US 11,620,255 · App. 17/561,801 · Granted Apr 4, 2023

Time sensitive networking device

Inventor: Kishore Kasichainula (Phoenix, AZ)
Assignee: Intel Corporation
G06F15/17331H04L12/4645H04L47/564H04L47/6215
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,620,255
App. No.
17/561,801
Granted
Apr 4, 2023
Kind
B2
Abstract

The present disclosure generally relates to a device, method, or system for time sensitive networking. In an example, the device can include a time-sensitive networking controller and a scheduler. The device also includes an enhanced gate control list maintained on the time-sensitive networking controller to include a direct memory access address, a launch time, and a pre-fetch time for a data packet. The device may also include a transmitter of the time-sensitive networking controller to transmit the data packet retrieved using the direct memory access address at the launch time identified by the scheduler.

Claims (45)

1. A network interface device, comprising:

a scheduler to access an enhanced gate control list, where the enhanced gate control list includes a direct memory access address and a launch time for a data packet; and

a transmitter to transmit, at the launch time identified by the scheduler, the data packet retrieved from memory using the direct memory access address.

2. The network interface device of claim 1 , wherein the enhanced gate control list includes a pre-fetch time for the data packet; and

wherein the network interface device comprises a packet buffer, wherein the data packet was requested by the scheduler at the pre-fetch time, to be stored in the packet buffer, and is transmitted from the packet buffer.

3. The network interface device of claim 2 , wherein the scheduler compares a front-of-queue data packet in each of a plurality of look-up queues and pre-fetches a queue data packet with a scheduled launch time matching a current time of the scheduler.

4. The network interface device of claim 1 , wherein the enhanced gate control list comprises a plurality of look-up queues, where each of the plurality of look-up queues includes a number of rows in which data packet information is be stored for retrieval by the scheduler.

5. The network interface device of claim 4 , wherein each of the plurality of look-up queues corresponds to a different traffic class where each different traffic class has a differing quality of service.

6. The network interface device of claim 4 , wherein the scheduler compares a front-of-queue data packet in each of the plurality of look-up queues and pre-fetches a queue data packet, where a sum of a scheduled launch time and a transmit time of the queue data packet does not conflict with a scheduled launch of a future scheduled data packet.

7. The network interface device of claim 1 , wherein the transmitter of the network interface device is to transmit in a deterministic transmission without making a request through a central processing unit (CPU) for an address of the data packet.

8. The network interface device of claim 1 , wherein the network interface device applies virtual local area network labels to application requested data packets that are then sorted into a plurality of queues in maintained by the enhanced gate control list, wherein the virtual local area network labels correspond to a traffic class of the application requested data packets in each of the plurality of queues.

9. The network interface device of claim 1 , wherein memory accesses by the transmitter, enhanced gate control list, and scheduler use the direct memory access address that do not include a query to a central processing unit (CPU).

10. The network interface device of claim 1 , wherein the enhanced gate control list includes control bits, the control bits used to set ownership by either hardware or software.

11. The network interface device of claim 10 , wherein the enhanced gate control list is processed alternatively by hardware or software from cycle to cycle to provide seamless data flow.

12. A compute node in a network, the compute node comprising:

a processor;

a memory device; and

a network interface card, wherein the network interface card includes:

a scheduler to:

access an enhanced gate control list, where the enhanced gate control list includes a direct memory access address in the memory device, a launch time, and a pre-fetch time for a data packet; and

copy the data packet from the direct memory access address to a packet buffer without querying the processor, at the pre-fetch time; and

a transmitter to transmit the data packet from the packet buffer at the launch time.

13. The compute node of claim 12 , wherein the enhanced gate control list comprises a plurality of look-up queues, where each of the plurality of look-up queues includes a number of rows in which data packet information is be stored for retrieval by the scheduler.

14. The compute node of claim 13 , wherein each of the plurality of look-up queues corresponds to a different traffic class where each different traffic class has a differing quality of service.

15. The compute node of claim 14 , wherein the scheduler compares a front-of-queue data packet in each of the plurality of look-up queues and pre-fetches a queue data packet, where a sum of a scheduled launch time and a transmit time of the queue data packet does not conflict with a scheduled launch of a future scheduled data packet.

16. A method, comprising:

accessing, by a scheduler, an enhanced gate control list, where the enhanced gate control list includes a direct memory access address and a launch time for a data packet; and

transmitting, at the launch time identified by the scheduler, the data packet retrieved from memory using the direct memory access address.

17. The method of claim 16 , wherein the enhanced gate control list includes a pre-fetch time for the data packet; and wherein the method comprises:

requesting, at the pre-fetch time, the data packet, which is stored in a packet buffer, and is transmitted from the packet buffer.

18. The method of claim 17 , comprising comparing a front-of-queue data packet in each of a plurality of look-up queues and pre-fetches a queue data packet with a scheduled launch time matching a current time of the scheduler.

19. The method of claim 16 , wherein the enhanced gate control list comprises a plurality of look-up queues, where each of the plurality of look-up queues includes a number of rows in which data packet information is be stored for retrieval by the scheduler.

20. The method of claim 19 , wherein each of the plurality of look-up queues corresponds to a different traffic class where each different traffic class has a differing quality of service.

21. The method of claim 19 , comprising comparing a front-of-queue data packet in each of the plurality of look-up queues and pre-fetches a queue data packet, where a sum of a scheduled launch time and a transmit time of the queue data packet does not conflict with a scheduled launch of a future scheduled data packet.

22. The method of claim 16 , comprising applying virtual local area network labels to application requested data packets that are then sorted into a plurality of queues in maintained by the enhanced gate control list, wherein the virtual local area network labels correspond to a traffic class of the application requested data packets in each of the plurality of queues.

23. At least one non-transitory machine-readable medium including instructions, which when executed by a time-sensitive network interface controller, cause the time-sensitive network interface controller to perform operations comprising:

accessing, by a scheduler, an enhanced gate control list, where the enhanced gate control list includes a direct memory access address and a launch time for a data packet; and

transmitting, at the launch time identified by the scheduler, the data packet retrieved from memory using the direct memory access address.

24. The at least one non-transitory machine-readable medium of claim 23 , wherein the enhanced gate control list includes a pre-fetch time for the data packet; and wherein the operations comprise:

requesting, at the pre-fetch time, the data packet, which is stored in the packet buffer, and is transmitted from the packet buffer.

25. The at least one non-transitory machine-readable medium of claim 24 , comprising operations of comparing a front-of-queue data packet in each of a plurality of look-up queues and pre-fetches a queue data packet with a scheduled launch time matching a current time of the scheduler.

26. The at least one non-transitory machine-readable medium of claim 23 , wherein the enhanced gate control list comprises a plurality of look-up queues, where each of the plurality of look-up queues includes a number of rows in which data packet information is be stored for retrieval by the scheduler.

27. The at least one non-transitory machine-readable medium of claim 26 , wherein each of the plurality of look-up queues corresponds to a different traffic class where each different traffic class has a differing quality of service.

28. The at least one non-transitory machine-readable medium of claim 26 , comprising operations of comparing a front-of-queue data packet in each of the plurality of look-up queues and pre-fetches a queue data packet, where a sum of a scheduled launch time and a transmit time of the queue data packet does not conflict with a scheduled launch of a future scheduled data packet.

29. The at least one non-transitory machine-readable medium of claim 23 , comprising operations of applying virtual local area network labels to application requested data packets that are then sorted into a plurality of queues in maintained by the enhanced gate control list, wherein the virtual local area network labels correspond to a traffic class of the application requested data packets in each of the plurality of queues.

Continuity (3)
Continuation 17001258 · Aug 24, 2020
Continuation 16230829 · Dec 21, 2018
Related Publication 20220188263A1 · Jun 16, 2022
Cited By (2)
US 12,189,471 US 12,355,672