Patents by Inventor Neil Duncan
Neil Duncan has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Publication number: 20240345979Abstract: A network interface device comprises a streaming data processing path comprising a first data processing engine and hubs. A first scheduler associated with a first hub controls an output of data by the first hub to the first data processing engine and a second scheduler associated with a second hub controls an output of data by the second hub. The first hub is arranged upstream of the first data processing engine on the data processing path and is configured to receive data from a first upstream data path entity and from a first data processing entity implemented in programmable circuitry via a data ingress interface of the first hub. The first data processing engine is configured to receive data from the first hub, process the received data and output the processed data to the second hub arranged downstream of first data processing engine.Type: ApplicationFiled: April 22, 2024Publication date: October 17, 2024Inventors: Steven Leslie POPE, Derek Edward ROBERTS, Dmitri KITARIEV, Neil Duncan TURTON, David James RIDDOCH, Ripduman SOHAN
-
Publication number: 20240193117Abstract: Embodiments herein describe a configurable packet processing architecture for a SmartNIC or other network device. The configurable architecture includes a plurality of PPEs which are communicatively coupled using a packet bus. A packet can be processed in each of the PPEs. For example, each packet may be first processed by PPE 1, then PPE 2, then PPE 3, and so forth. Moreover, the results of processing the packet at a PPE 1 may affect the operation performed on the packet when it reaches PPE 2 or PPE 3. Thus, the PPEs form a chain where the results determined by a first PPE when processing the packet can affect or change the operation a second PPE performs when processing the same packet.Type: ApplicationFiled: December 13, 2022Publication date: June 13, 2024Inventors: Nachiket Ganesh KAPRE, Kimon KARRAS, Dmitri KITARIEV, Neil Duncan TURTON, (none) SIDDHARTHA, Stephan DIESTELHORST, Thilini Kaushalya Bandara DASSANAYAKE MUDIYANSELAGE
-
Publication number: 20240184552Abstract: A method comprises compiling, by a compiler, a received program to provide a compiler output for configuring hardware to implement the received program. The received program relate to packets of data in a memory. The compiling comprising defining by the compiler output a plurality of computational units in the hardware, each of the computational units being configured to receive a packet of data as a stream of words and between a first and a second of the computational units, a first buffer for storing words of a packet and a second buffer for storing data output by the first computational unit.Type: ApplicationFiled: December 1, 2022Publication date: June 6, 2024Inventors: Steven Leslie POPE, Dmitri KITARIEV, Neil Duncan TURTON, Ripduman Singh SOHAN, Stephan DIESTELHORST
-
Patent number: 11966351Abstract: A network interface device comprises a streaming data processing path comprising a first data processing engine and hubs. A first scheduler associated with a first hub controls an output of data by the first hub to the first data processing engine and a second scheduler associated with a second hub controls an output of data by the second hub. The first hub is arranged upstream of the first data processing engine on the data processing path and is configured to receive data from a first upstream data path entity and from a first data processing entity implemented in programmable circuitry via a data ingress interface of the first hub. The first data processing engine is configured to receive data from the first hub, process the received data and output the processed data to the second hub arranged downstream of first data processing engine.Type: GrantFiled: March 11, 2021Date of Patent: April 23, 2024Assignee: XILINX, INC.Inventors: Steven Leslie Pope, Derek Edward Roberts, Dmitri Kitariev, Neil Duncan Turton, David James Riddoch, Ripduman Sohan
-
Patent number: 11960596Abstract: 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.Type: GrantFiled: March 11, 2021Date of Patent: April 16, 2024Assignee: XILINX, INC.Inventors: Steven Leslie Pope, Derek Edward Roberts, Dmitri Kitariev, Neil Duncan Turton, David James Riddoch, Ripduman Sohan
-
Publication number: 20240060913Abstract: The present specification describes a system for eliminating X-ray crosstalk between a plurality of X-ray scanning systems and passive radiation detectors. The system includes a frequency generator for generating a common operational frequency, a high-energy X-ray source or scanning system coupled with the frequency generator for receiving the common operational frequency and configured to modify the pulse repetition frequency of the high-energy X-ray source or scanning system in order to synchronize with the common operational frequency and a low-energy X-ray scanning system and/or passive radiation detection system coupled with the frequency generator for receiving the common operational frequency and having a processing module configured to remove data associated with the common operational frequency at an instance of time if the high-energy X-ray source or scanning system has emitted X-rays at the instance of time.Type: ApplicationFiled: September 5, 2023Publication date: February 22, 2024Inventor: Neil Duncan Carrington
-
Patent number: 11796489Abstract: The present specification describes a system for eliminating X-ray crosstalk between a plurality of X-ray scanning systems and passive radiation detectors. The system includes a frequency generator for generating a common operational frequency, a high-energy X-ray source or scanning system coupled with the frequency generator for receiving the common operational frequency and configured to modify the pulse repetition frequency of the high-energy X-ray source or scanning system in order to synchronize with the common operational frequency and a low-energy X-ray scanning system and/or passive radiation detection system coupled with the frequency generator for receiving the common operational frequency and having a processing module configured to remove data associated with the common operational frequency at an instance of time if the high-energy X-ray source or scanning system has emitted X-rays at the instance of time.Type: GrantFiled: February 23, 2022Date of Patent: October 24, 2023Assignee: Rapiscan Systems, Inc.Inventor: Neil Duncan Carrington
-
Patent number: 11726928Abstract: A network interface device has a data source, a data sink and an interconnect configured to receive data from the data source and to output data to the data sink. The interconnect has a memory having memory cells. Each memory cell has a width which matches a bus segment width. The memory is configured to receive a first write output with a width corresponding to the bus segment width. The write output comprises first data to be written to a first memory cell of the memory, the first data being from the data source.Type: GrantFiled: June 24, 2021Date of Patent: August 15, 2023Assignee: XILINX, INC.Inventors: Steven Leslie Pope, Derek Edward Roberts, Dmitri Kitariev, Neil Duncan Turton, David James Riddoch, Ripduman Sohan
-
Publication number: 20230224261Abstract: A network interface device has data path circuitry configured to cause data to be moved into and/or out of the network interface device. The data path circuitry comprises: first circuitry for providing one or more data processing operations; and interface circuitry supporting channels. The channels comprises command channels receiving command information from a plurality of data path circuitry user instances, event channels providing respective command completion information to the plurality of data path user instances; and data channels providing the associated data.Type: ApplicationFiled: January 7, 2022Publication date: July 13, 2023Inventors: Steven Leslie POPE, Derek Edward ROBERTS, Dmitri KITARIEV, Neil Duncan TURTON, David James RIDDOCH, Ripduman SOHAN, Stephan DIESTELHORST
-
Patent number: 11689648Abstract: A network interface device comprises an input configured to receive a storage response comprising a plurality of packets of data, one or more packets comprising a header part and data to be stored, the header part comprising a transport protocol header and a data storage application header. A first packet processor is configured to receive two or more of said plurality of packets and perform transport protocol processing of the received packets to provide transport protocol processed packets A second packet processor configured to receive the transport protocol processed packets from the first packet processor, to write the data to be stored of the received packets to memory and to provide the data storage application header and a pointer to a location in the memory to which the data has been written.Type: GrantFiled: March 11, 2021Date of Patent: June 27, 2023Assignee: XILINX, INC.Inventors: Steven Leslie Pope, Derek Edward Roberts, Dmitri Kitariev, Neil Duncan Turton, David James Riddoch, Ripduman Sohan
-
Publication number: 20220414028Abstract: A network interface device has a data source, a data sink and an interconnect configured to receive data from the data source and to output data to the data sink. The interconnect has a memory having memory cells. Each memory cell has a width which matches a bus segment width. The memory is configured to receive a first write output with a width corresponding to the bus segment width. The write output comprises first data to be written to a first memory cell of the memory, the first data being from the data source.Type: ApplicationFiled: June 24, 2021Publication date: December 29, 2022Inventors: Steven Leslie POPE, Derek Edward ROBERTS, Dmitri KITARIEV, Neil Duncan TURTON, David James RIDDOCH, Ripduman SOHAN
-
Publication number: 20220292184Abstract: 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.Type: ApplicationFiled: March 11, 2021Publication date: September 15, 2022Inventors: Steven Leslie POPE, Derek Edward ROBERTS, Dmitri KITARIEV, Neil Duncan TURTON, David James RIDDOCH, Ripduman SOHAN
-
Publication number: 20220292042Abstract: A network interface device comprises a streaming data processing path comprising a first data processing engine and hubs. A first scheduler associated with a first hub controls an output of data by the first hub to the first data processing engine and a second scheduler associated with a second hub controls an output of data by the second hub. The first hub is arranged upstream of the first data processing engine on the data processing path and is configured to receive data from a first upstream data path entity and from a first data processing entity implemented in programmable circuitry via a data ingress interface of the first hub. The first data processing engine is configured to receive data from the first hub, process the received data and output the processed data to the second hub arranged downstream of first data processing engine.Type: ApplicationFiled: March 11, 2021Publication date: September 15, 2022Inventors: Steven Leslie POPE, Derek Edward ROBERTS, Dmitri KITARIEV, Neil Duncan TURTON, David James RIDDOCH, Ripduman SOHAN
-
Publication number: 20220294883Abstract: A network interface device comprises an input configured to receive a storage response comprising a plurality of packets of data, one or more packets comprising a header part and data to be stored, the header part comprising a transport protocol header and a data storage application header. A first packet processor is configured to receive two or more of said plurality of packets and perform transport protocol processing of the received packets to provide transport protocol processed packets A second packet processor configured to receive the transport protocol processed packets from the first packet processor, to write the data to be stored of the received packets to memory and to provide the data storage application header and a pointer to a location in the memory to which the data has been written.Type: ApplicationFiled: March 11, 2021Publication date: September 15, 2022Inventors: Steven Leslie POPE, Derek Edward ROBERTS, Dmitri KITARIEV, Neil Duncan TURTON, David James RIDDOCH, Ripduman SOHAN
-
Publication number: 20220268713Abstract: The present specification describes a system for eliminating X-ray crosstalk between a plurality of X-ray scanning systems and passive radiation detectors. The system includes a frequency generator for generating a common operational frequency, a high-energy X-ray source or scanning system coupled with the frequency generator for receiving the common operational frequency and configured to modify the pulse repetition frequency of the high-energy X-ray source or scanning system in order to synchronize with the common operational frequency and a low-energy X-ray scanning system and/or passive radiation detection system coupled with the frequency generator for receiving the common operational frequency and having a processing module configured to remove data associated with the common operational frequency at an instance of time if the high-energy X-ray source or scanning system has emitted X-rays at the instance of time.Type: ApplicationFiled: February 23, 2022Publication date: August 25, 2022Inventor: Neil Duncan Carrington
-
Patent number: 10108357Abstract: Embodiments of a row address cache circuit are disclosed that may allow the determination the number of times a row address is used to access a dynamic memory. The row address cache circuit may include a memory, first and second pluralities of counters, and a control circuit. The control circuit may be configured to receive a row address and store the row address in an entry of the memory when the row address has not been previously stored. When the row address has been previously stored in an entry of the memory, the control circuit may be configured to change a value of a counter of the first plurality of counters corresponding the entry. The control circuit may be further configured to change a value of each counter of the second plurality of counters after a pre-determined time interval has elapsed, and initiate a refresh of the dynamic memory.Type: GrantFiled: May 3, 2016Date of Patent: October 23, 2018Assignee: Oracle International CorporationInventors: David Jeffrey, Clement Fang, Neil Duncan, Heechoul Park, Lik Cheng, Gregory F. Grohoski
-
Publication number: 20160246525Abstract: Embodiments of a row address cache circuit are disclosed that may allow the determination the number of times a row address is used to access a dynamic memory. The row address cache circuit may include a memory, first and second pluralities of counters, and a control circuit. The control circuit may be configured to receive a row address and store the row address in an entry of the memory when the row address has not been previously stored. When the row address has been previously stored in an entry of the memory, the control circuit may be configured to change a value of a counter of the first plurality of counters corresponding the entry. The control circuit may be further configured to change a value of each counter of the second plurality of counters after a pre-determined time interval has elapsed, and initiate a refresh of the dynamic memory.Type: ApplicationFiled: May 3, 2016Publication date: August 25, 2016Inventors: David Jeffrey, Clement Fang, Neil Duncan, Heechoul Park, Lik Cheng, Gregory F. Grohoski
-
Patent number: 9355689Abstract: Embodiments of a row address cache circuit are disclosed that may allow the determination the number of times a row address is used to access a dynamic memory. The row address cache circuit may include a memory, first and second pluralities of counters, and a control circuit. The control circuit may be configured to receive a row address and store the row address in an entry of the memory when the row address has not been previously stored. When the row address has been previously stored in an entry of the memory, the control circuit may be configured to change a value of a counter of the first plurality of counters corresponding the entry. The control circuit may be further configured to change a value of each counter of the second plurality of counters after a pre-determined time interval has elapsed, and initiate a refresh of the dynamic memory.Type: GrantFiled: August 20, 2013Date of Patent: May 31, 2016Assignee: Oracle International CorporationInventors: David Jeffrey, Clement Fang, Neil Duncan, Heechoul Park, Lik Cheng, Gregory F. Grohoski
-
Publication number: 20150058549Abstract: Embodiments of a row address cache circuit are disclosed that may allow the determination the number of times a row address is used to access a dynamic memory. The row address cache circuit may include a memory, first and second pluralities of counters, and a control circuit. The control circuit may be configured to receive a row address and store the row address in an entry of the memory when the row address has not been previously stored. When the row address has been previously stored in an entry of the memory, the control circuit may be configured to change a value of a counter of the first plurality of counters corresponding the entry. The control circuit may be further configured to change a value of each counter of the second plurality of counters after a pre-determined time interval has elapsed, and initiate a refresh of the dynamic memory.Type: ApplicationFiled: August 20, 2013Publication date: February 26, 2015Applicant: Oracle International CorporationInventors: David Jeffrey, Clement Fang, Neil Duncan, Heechoul Park, Lik Cheng, Gregory F. Grohoski
-
Patent number: 8271338Abstract: According to an embodiment of the invention, an approach is provided for estimating how a particular user would rate a particular item from a plurality of items. The approach is applicable to any type of items, including rental items such as movies, music and games, and the invention is not limited to any particular type of item. One or more items from the plurality of items that have ratings similar to the particular item are identified. One or more other users are identified that have given ratings to the one or more items that are substantially similar to ratings given by the particular user to the one or more items. An estimation is made of how the particular user would rate the particular item based upon ratings for the particular item given by the one or more other users.Type: GrantFiled: September 18, 2009Date of Patent: September 18, 2012Assignee: Netflix, Inc.Inventors: Neil Duncan Hunt, Stanley Miguel Lanning, W. Reed Hastings, Shawn Michael Purcell, Lawrence Wen-Kai Shih, John Robert Ciancutti