Patents by Inventor Noam Bloch

Noam Bloch 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).

  • Patent number: 11102129
    Abstract: A network adapter includes circuitry and one or more ports. The ports connect to a communication network including multiple network elements. The circuitry accesses outbound messages that are pending to be sent over the communication network to multiple remote nodes via the ports. At least some of the outbound messages request the remote nodes to send respective amounts of data back to the network adapter. Based on the amounts of data requested by the outbound messages, the circuitry forecasts a bandwidth of inbound response traffic, which is expected to traverse a selected network element in response to the outbound messages toward the network adapter, determines a schedule for transmitting the outbound messages to the remote nodes so that the forecasted bandwidth meets a bandwidth supported by the selected network element, and transmits the outbound messages to the remote nodes in accordance with the determined schedule.
    Type: Grant
    Filed: September 4, 2019
    Date of Patent: August 24, 2021
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Idan Burstein, Noam Bloch, Roee Moyal, Ariel Shahar, Yamin Friedman, Yuval Shpigelman
  • Patent number: 11088966
    Abstract: A network adapter includes a host interface and circuitry. The host interface is configured to connect locally between the network adapter and a host via a bus. The circuitry is configured to receive from one or more source nodes, over a communication network to which the network adapter is coupled, multiple packets destined to the host, and temporarily store the received packets in a queue of the network adapter, to send the stored packets from the queue to the host over the bus, to monitor a performance attribute of the bus, and in response to detecting, based at least on the monitored performance attribute, an imminent overfilling state of the queue, send a congestion notification to at least one of the source nodes from which the received packets originated.
    Type: Grant
    Filed: November 4, 2019
    Date of Patent: August 10, 2021
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Adi Menachem, Alex Shpiner, Noam Bloch, Eitan Zahavi, Idan Burstein, Dror Bohrer, Roee Moyal
  • Publication number: 20210243121
    Abstract: A communication apparatus includes a host interface, connected to a peripheral component bus so as to communicate with a CPU and a memory of a host computer. A network interface is connected to a network. Packet processing circuitry is configured to receive from a first interface a data packet including a set of one or more headers that include header fields having respective values, to identify, responsively to at least one of the header fields, a corresponding entry in a header modification table that specifies a header modification operation, to modify the set of headers in accordance with the header modification operation, to check whether the entry specifies an additional header modification operation, to output the modified set of headers if the entry does not specify an additional header modification operation, and, if the entry specifies an additional header modification operation, to feed-back the modified set of headers.
    Type: Application
    Filed: February 4, 2020
    Publication date: August 5, 2021
    Inventors: Avi Urman, Lior Narkis, Noam Bloch
  • Publication number: 20210218808
    Abstract: An apparatus includes one or more ports for connecting to a communication network, processing circuitry and a message aggregation circuit (MAC). The processing circuitry is configured to communicate messages over the communication network via the one or more ports. The MAC is configured to receive messages, which originate in one or more source processes and are destined to one or more destination processes, to aggregate two or more of the messages that share a common destination into an aggregated message, and to send the aggregated message using the processing circuitry over the communication network.
    Type: Application
    Filed: January 13, 2021
    Publication date: July 15, 2021
    Inventors: Richard Graham, Lion Levi, Daniel Marcovitch, Larry R. Dennison, Aviad Levy, Noam Bloch, Gil Bloch
  • Patent number: 11055222
    Abstract: Computing apparatus includes a central processing unit (CPU), including at least one core and a cache in physical proximity to the at least one core, with a system memory and a bus connecting the CPU to the memory. A peripheral device is connected to the bus and is configured to write data items via the bus to a buffer in the system memory and to write respective completion reports to the system memory upon writing the data items to the buffer. The peripheral device is configured to detect that the CPU has read a first completion report from the system memory and then read context metadata associated with the first completion report from a given address in the system memory, and is further configured, upon writing a second completion report subsequent to the first completion report and associated with the same context metadata, to stash the second completion report and the context metadata from the given address to the cache.
    Type: Grant
    Filed: September 10, 2019
    Date of Patent: July 6, 2021
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Ilan Pardo, Noam Bloch
  • Publication number: 20210176345
    Abstract: One embodiment includes a network device, including hardware parsers to receive data of a header section of a packet, the header section including respective headers, parser configuration registers to store a default parsing configuration data set, wherein at least one of the hardware parsers is configured to parse at least one of the headers responsively to the default parsing configuration data set, yielding first parsed data, a packet processing engine to select a selected parsing configuration data set from a selection of parsing configuration data sets responsively to the first parsed data, cause loading of the selected parsing configuration data set into the parser configuration registers, and wherein ones of the hardware parsers are configured to parse respective ones of the headers responsively to the selected parsing configuration data set, yielding second parsed data, and process the packet responsively to the second parsed data.
    Type: Application
    Filed: December 10, 2019
    Publication date: June 10, 2021
    Inventors: Avi Urman, Lior Narkis, Noam Bloch
  • Publication number: 20210152474
    Abstract: A network adapter includes a receive (Rx) pipeline, a transmit (Tx) pipeline and congestion management circuitry. The Rx pipeline is configured to receive packets sent over a network by a peer network adapter, and to process the received packets. The Tx pipeline is configured to transmit packets to the peer network adapter over the network. The congestion management circuitry is configured to receive, from the Tx pipeline and from the Rx pipeline, Congestion-Control (CC) events derived from at least some of the packets exchanged with the peer network adapter, to exchange user-programmable congestion control packets with the peer network adapter, and to mitigate a congestion affecting one or more of the packets responsively to the CC events and the user-programmable congestion control packets.
    Type: Application
    Filed: August 6, 2020
    Publication date: May 20, 2021
    Inventors: Yuval Shpigelman, Idan Burstein, Noam Bloch, Reut Zuck, Roee Moyal
  • Publication number: 20210111996
    Abstract: A system includes a host processor, which has a host memory and is coupled to store data in a non-volatile memory in accordance with a storage protocol. A network interface controller (NIC) receives data packets conveyed over a packet communication network from peer computers containing, in payloads of the data packets, data records that encode data in accordance with the storage protocol for storage in the non-volatile memory. The NIC processes the data records in the data packets that are received in order in each flow from a peer computer and extracts and writes the data to the host memory, and when a data packet arrives out of order, writes the data packet to the host memory without extracting the data and processes the data packets in the flow so as to recover context information for use in processing the data records in subsequent data packets in the flow.
    Type: Application
    Filed: December 1, 2020
    Publication date: April 15, 2021
    Inventors: Boris Pismenny, Miriam Menes, Idan Burstein, Liran Liss, Noam Bloch, Ariel Shahar
  • Publication number: 20210073130
    Abstract: Computing apparatus includes a central processing unit (CPU), including at least one core and a cache in physical proximity to the at least one core, with a system memory and a bus connecting the CPU to the memory. A peripheral device is connected to the bus and is configured to write data items via the bus to a buffer in the system memory and to write respective completion reports to the system memory upon writing the data items to the buffer. The peripheral device is configured to detect that the CPU has read a first completion report from the system memory and then read context metadata associated with the first completion report from a given address in the system memory, and is further configured, upon writing a second completion report subsequent to the first completion report and associated with the same context metadata, to stash the second completion report and the context metadata from the given address to the cache.
    Type: Application
    Filed: September 10, 2019
    Publication date: March 11, 2021
    Inventors: Ilan Pardo, Noam Bloch
  • Patent number: 10887252
    Abstract: A network interface device is connected to a host computer by having a memory controller, and a scatter-gather offload engine linked to the memory controller. The network interface device prepares a descriptor including a plurality of specified memory locations in the host computer, incorporates the descriptor in exactly one upload packet, transmits the upload packet to the scatter-gather offload engine via the uplink, invokes the scatter-gather offload engine to perform memory access operations cooperatively with the memory controller at the specified memory locations of the descriptor, and accepts results of the memory access operations.
    Type: Grant
    Filed: November 6, 2018
    Date of Patent: January 5, 2021
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Dror Bohrer, Noam Bloch, Peter Paneah, Richard Graham
  • Patent number: 10841243
    Abstract: A network interface controller that is connected to a host and a packet communications network. The network interface controller includes electrical circuitry configured as a packet processing pipeline with a plurality of stages. It is determined in the network interface controller that at least a portion of the stages of the pipeline are acceleration-defined stages. Packets are processed in the pipeline by transmitting data to an accelerator from the acceleration-defined stages, performing respective acceleration tasks on the transmitted data in the accelerator, and returning processed data from the accelerator to receiving stages of the pipeline.
    Type: Grant
    Filed: June 20, 2018
    Date of Patent: November 17, 2020
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Dotan Levi, Liran Liss, Haggai Eran, Noam Bloch, Idan Burstein, Lior Narkis, Avraham Ganor
  • Patent number: 10764194
    Abstract: A network interface controller includes a host interface, which is configured to be coupled to a host processor having a host memory. A network interface is configured to receive data packets from a network, each data packet including a header, which includes header fields, and a payload including data. Packet processing circuitry is configured to process one or more of the header fields and at least a part of the data and to select, responsively at least to the one or more of the header fields, a location in the host memory. The circuitry writes the data to the selected location and upon determining that the processed data satisfies a predefined criterion, asserts an interrupt on the host processor so as to cause the host processor to read the data from the selected location in the host memory.
    Type: Grant
    Filed: December 10, 2017
    Date of Patent: September 1, 2020
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Michael Kagan, Noam Bloch
  • Publication number: 20200274733
    Abstract: A method in which a plurality of process are configured to hold a block of data destined for other processes, with data repacking circuitry including receiving circuitry configured to receive at least one block of data from a source process of the plurality of processes, the repacking circuitry configured to repack received data in accordance with at least one destination process of the plurality of processes, and sending circuitry configured to send the repacked data to the at least one destination process of the plurality of processes, receiving a set of data for all-to-all data exchange, the set of data being configured as a matrix, the matrix being distributed among the plurality of processes, and transposing the data by each of the plurality of processes sending matrix data from the process to the repacking circuitry, and the repacking circuitry receiving, repacking, and sending the resulting matrix data to destination processes.
    Type: Application
    Filed: February 13, 2020
    Publication date: August 27, 2020
    Inventors: Richard Graham, Lion Levi, Gil Bloch, Daniel Marcovitch, Noam Bloch, Yong Qin, Yaniv Blumenfeld, Eitan Zahavi
  • Publication number: 20200145349
    Abstract: A network adapter includes a host interface and circuitry. The host interface is configured to connect locally between the network adapter and a host via a bus. The circuitry is configured to receive from one or more source nodes, over a communication network to which the network adapter is coupled, multiple packets destined to the host, and temporarily store the received packets in a queue of the network adapter, to send the stored packets from the queue to the host over the bus, to monitor a performance attribute of the bus, and in response to detecting, based at least on the monitored performance attribute, an imminent overfilling state of the queue, send a congestion notification to at least one of the source nodes from which the received packets originated.
    Type: Application
    Filed: November 4, 2019
    Publication date: May 7, 2020
    Inventors: Adi Menachem, Alex Shpiner, Noam Bloch, Eitan Zahavi, Idan Burstein, Dror Bohrer, Roee Moyal
  • Patent number: 10642780
    Abstract: In a fabric of network elements one network element has an object pool to be accessed stored in its memory. A request for atomic access to the object pool by another network element is carried out by transmitting the request through the fabric to the one network element, performing a remote direct memory access to a designated member of the object pool, atomically executing the request, and returning a result of the execution of the request through the fabric to the other network element.
    Type: Grant
    Filed: February 28, 2017
    Date of Patent: May 5, 2020
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Shahaf Shuler, Noam Bloch, Gil Bloch
  • Patent number: 10623521
    Abstract: A network adapter includes a network interface and circuitry. The network interface is assigned a single network address in a communication network, and is configured to receive, from one or more other nodes over the communication network, messages that are destined for processing by multiple threads in one or more processing cores of a network node including the network adapter, but are nevertheless addressed to the single network address. The circuitry is configured to hold a distribution rule for distributing the messages among multiple Receive Queues (RQs) that are accessible by the threads, and to select for each message received via the network interface a respective RQ, by applying the distribution rule to the message.
    Type: Grant
    Filed: December 26, 2016
    Date of Patent: April 14, 2020
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Shahaf Shuler, Noam Bloch, Yossef Itigin
  • Publication number: 20200084150
    Abstract: A network adapter includes circuitry and one or more ports. The ports connect to a communication network including multiple network elements. The circuitry accesses outbound messages that are pending to be sent over the communication network to multiple remote nodes via the ports. At least some of the outbound messages request the remote nodes to send respective amounts of data back to the network adapter. Based on the amounts of data requested by the outbound messages, the circuitry forecasts a bandwidth of inbound response traffic, which is expected to traverse a selected network element in response to the outbound messages toward the network adapter, determines a schedule for transmitting the outbound messages to the remote nodes so that the forecasted bandwidth meets a bandwidth supported by the selected network element, and transmits the outbound messages to the remote nodes in accordance with the determined schedule.
    Type: Application
    Filed: September 4, 2019
    Publication date: March 12, 2020
    Inventors: Idan Burstein, Noam Bloch, Roee Moyal, Ariel Shahar, Yamin Friedman, Yuval Shpigelman
  • Publication number: 20200014918
    Abstract: A system including an acceleration device including input circuitry configured, for each of a first plurality of video frames to be encoded, to receive an input including at least one raw video frame and at least one reference frame, and to divide each of the first plurality of video frames to be encoded into a second plurality of blocks, and similarity computation circuitry configured, for each one of the first plurality of video frame to be encoded: for each the block of the second plurality of blocks, to produce a score of result blocks based on similarity of each the block in each frame to be encoded to every block of the reference frame, and a displacement vector. Related apparatus and methods are also provided.
    Type: Application
    Filed: March 4, 2019
    Publication date: January 9, 2020
    Inventors: Dotan David Levi, Assaf Weissman, Kobi Pines, Noam Bloch, Erez Yaacov, Ariel Naftali Cohen
  • Publication number: 20200014945
    Abstract: A system including an acceleration device including input circuitry configured, for each of a first plurality of video frames to be encoded, to receive an input including at least one raw video frame and at least one reference frame, and to divide each of the first plurality of video frames to be encoded into a second plurality of blocks, and similarity computation circuitry configured, for each one of the first plurality of video frame to be encoded: for each block of the second plurality of blocks, to produce a score of result blocks based on similarity of each block in each frame to be encoded to every block of the reference frame, an AC energy coefficient, and a displacement vector. Related apparatus and methods are also provided.
    Type: Application
    Filed: June 17, 2019
    Publication date: January 9, 2020
    Inventors: Dotan David Levi, Assaf Weissman, Kobi Pines, Noam Bloch, Erez Yaacov, Ariel Naftali Cohen
  • Patent number: 10521283
    Abstract: An MPI collective operation carried out in a fabric of network elements by transmitting MPI messages from all the initiator processes in an initiator node to designated ones of the responder processes in respective responder nodes. Respective payloads of the MPI messages are combined in a network interface device of the initiator node to form an aggregated MPI message. The aggregated MPI message is transmitted through the fabric to network interface devices of responder nodes, disaggregating the aggregated MPI message into individual messages, and distributing the individual messages to the designated responder node processes.
    Type: Grant
    Filed: March 1, 2017
    Date of Patent: December 31, 2019
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Shahaf Shuler, Noam Bloch, Gil Bloch