US2018276175A1PendingUtilityA1

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

Assignee: NAT INSTRUMENTS CORPPriority: Mar 22, 2017Filed: Mar 22, 2017Published: Sep 27, 2018
Est. expiryMar 22, 2037(~10.7 yrs left)· nominal 20-yr term from priority
G06F 13/4282G06F 9/4881G06F 13/1673G06F 9/542
51
PatentIndex Score
0
Cited by
0
References
0
Claims

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

exact text as granted — not AI-modified
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.

Join the waitlist — get patent alerts

Track US2018276175A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.