IP Library Patent Application 15466150
Patent Application
App. No. 15/466,150

Direct Network Access by a Memory Mapped Peripheral Device for Scheduled Data Transfer on the Network

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 None
App. No.
15/466,150
Filed
Mar 22, 2017
Art Unit
2184
USPC
710/310
Abstract

A network interface peripheral device (NIP) may include a network interface for communicating with a network, and an interconnect interface for communicating with a processor subsystem. Peripheral data buffers (PDBs) in the NIP may hold data received from and/or distributed to peer peripherals by the NIP, and network data buffers (NDBs) may hold payload data of scheduled data streams transmitted to and/or received from the network by the NIP. A data handler in the NIP may generate the payload data from the data in the PDBs, and store the payload data in the NDBs according to scheduled data handler transmit events. The data handler may obtain the data from the payload data in the NDBs and store the obtained data in the PDBs according to scheduled data handler receive events. The NIP may include a mirrored finite state machine operating at the device level (of a device that may include the NIP) and controlled by a centralized system configuration entity to manage configuration of the NIP and coordinate the internal configuration of the NIP with a network configuration flow.

Claims (63)

1 . A peripheral device comprising:

a network interface configured to facilitate communication of the peripheral device with a network;

an interconnect interface configured to facilitate communication of the peripheral device with a processor subsystem;

a first set of buffers configured to hold peripherals data associated with peer peripheral devices coupled to the processor subsystem;

a second set of buffers configured to hold payload data of scheduled data streams transmitted over the network; and

a data handler configured to perform at least one of the following:

generate the payload data from the peripherals data and store the payload data in the second set of buffers for transmission over the network, according to one or more timed events; or

generate the peripherals data from the payload data and store the peripherals data in the second set of buffers for transmission to the peer peripheral devices, according to the one or more timed events.

2 . The peripheral device of claim 1 , further comprising a scheduler configured to create the one or more timed events.

3 . The peripheral device of claim 1 , wherein the one or more timed events comprise at least one of the following:

one or more transmit events, wherein each respective transmit event of the one or more transmit events instructs the data handler to fetch corresponding transmit data comprised in the peripherals data, generate at least a portion of the payload data from the corresponding transmit data, and store the at least a portion of the payload data in the second set of buffers for transmission over the network; or

one or more receive events, wherein each respective receive event of the one or more receive events instructs the data handler to fetch corresponding receive data comprised in the payload data, generate at least a portion of the peripherals data from the corresponding receive data, and store the at least a portion of the peripherals data in the first set of buffers for transmission to the peer peripheral devices.

4 . The peripheral device of claim 1 , wherein the peripherals data comprises one or more data sets, wherein the first set of buffers comprises one respective buffer per peer peripheral device per data set.

5 . The peripheral device of claim 1 , wherein the peripherals data comprises multiple data sets corresponding to a single peer peripheral device.

6 . The peripheral device of claim 1 , wherein the second set of buffers comprises one respective buffer per scheduled data stream of the scheduled data streams.

7 . The peripheral device of claim 1 , wherein the scheduled data streams comprise:

transmit data streams transmitted by the peripheral device; and

receive data streams received by the peripheral device.

8 . The peripheral device of claim 1 , wherein the data handler is further configured to multiplex peripherals data from multiple buffers comprised in the first set of buffers into a single buffer comprised in the second set of buffers.

9 . The peripheral device of claim 1 , wherein the data handler is further configured to distribute payload data from a single buffer comprised in the second set of buffers into multiple buffers comprised in the first set of buffers.

10 . The peripheral device of claim 1 , wherein the data handler is further configured to use the interconnect interface to perform at least one of the following:

transmit data to the peer peripheral devices from the first set of buffers; or

receive data from the peer peripheral devices into the first set of buffers.

11 . The peripheral device of claim 1 , further comprising a state machine configured to coordinate internal initialization and set up of the peripheral device with a centralized system configuration flow.

12 . The peripheral device of claim 1 , wherein the state machine is controlled by a centralized system configuration entity disposed outside of the peripheral device.

13 . A host device comprising:

a processor subsystem configured to execute one or more applications;

one or more peer peripheral devices coupled to the processor subsystem; and

a network interface peripheral device (NIPD) comprising:

a network interface configured to facilitate communication of the NIPD with a network;

an interconnect interface configured to facilitate communication of the NIPD with the processor subsystem;

a first set of buffers configured to hold peripherals data associated with the one or more peer peripheral devices;

a second set of buffers configured to hold payload data of scheduled data streams transmitted over the network; and

a data handler configured to perform at least one of the following:

generate the payload data from the peripherals data and store the payload data in the second set of buffers for transmission over the network, according to one or more timed events; or

generate the peripherals data from the payload data and store the peripherals data in the second set of buffers for transmission to the one or more peer peripheral devices, according to the one or more timed events.

14 . The host device of claim 13 , wherein the one or more timed events comprise at least one of the following:

one or more transmit events, wherein each respective transmit event of the one or more transmit events instructs the data handler to fetch corresponding transmit data comprised in the peripherals data, generate at least a portion of the payload data from the corresponding transmit data, and store the at least a portion of the payload data in the second set of buffers for transmission over the network; or

one or more receive events, wherein each respective receive event of the one or more receive events instructs the data handler to fetch corresponding receive data comprised in the payload data, generate at least a portion of the peripherals data from the corresponding receive data, and store the at least a portion of the peripherals data in the first set of buffers for transmission to the one or more peer peripheral devices.

15 . The host device of claim 13 , wherein the peripherals data comprises one or more data sets, wherein the first set of buffers comprises one respective buffer per peer peripheral device of the one or more peer peripheral devices per data set, and wherein the second set of buffers comprises one respective buffer per scheduled data stream of the scheduled data streams.

16 . The host device of claim 13 , wherein the peripherals data comprises multiple data sets corresponding to a single peer peripheral device of the one or more peer peripheral devices, and wherein the scheduled data streams comprise:

transmit data streams transmitted by the NIPD; and

receive data streams received by the NIPD.

17 . The host device of claim 1 , wherein the data handler is further configured to perform one or more of the following:

multiplex peripherals data from multiple buffers comprised in the first set of buffers into a single buffer comprised in the second set of buffers;

distribute payload data from a single buffer comprised in the second set of buffers into multiple buffers comprised in the first set of buffers;

transmit data over the interconnect interface to the one or more peer peripheral devices from the first set of buffers; or

receive data over the interconnect interface from the one or more peer peripheral devices into the first set of buffers.

18 . A networked system for scheduled data transfer on a network, the networked system comprising:

a centralized system configuration entity configured to interface with the network and configure one or more components of the networked system; and

a main host device comprising:

a processor subsystem configured to execute one or more applications;

one or more peer peripheral devices coupled to the processor subsystem; and

a network interface peripheral device (NIPD) comprising:

a network interface configured to facilitate communication of the NIPD with the network;

an interconnect interface configured to facilitate communication of the NIPD with the processor subsystem;

a first set of buffers configured to hold peripherals data associated with the one or more peer peripheral devices;

a second set of buffers configured to hold payload data of scheduled data streams transmitted over the network; and

a data handler configured to perform at least one of the following:

generate the payload data from the peripherals data and store the payload data in the second set of buffers for transmission over the network, according to one or more timed events; or

generate the peripherals data from the payload data and store the peripherals data in the second set of buffers for transmission to the one or more peer peripheral devices, according to the one or more timed events.

19 . The networked system of claim 18 , wherein the NIPD further comprises a state machine configured to coordinate internal initialization and set up of the NIPD, wherein the state machine is controlled by the centralized system configuration entity.

20 . The networked system of claim 18 , further comprising one or more additional host devices configured to interface with the network.

Assignments (5)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 057280/0028) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 065231/0466 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 052935/0001) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
Reel/Frame 065653/0463 →
SECURITY INTEREST Recorded Jun 18, 2021
From: NATIONAL INSTRUMENTS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 057280/0028 →
SECURITY INTEREST Recorded Jun 14, 2020
From: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 052935/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 22, 2017
From: CHANDHOKE, SUNDEEP; SESCILA, GLEN O., III; CASTRO SCORSI, RAFAEL
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 041683/0736 →