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: 10015090
    Abstract: A method for steering packets includes receiving a packet and determining parameters to be used in steering the packet to a specific destination, in one or more initial steering stages, based on one or more packet specific attributes. The method further includes determining an identity of the specific destination of the packet in one or more subsequent steering stages, governed by the parameters determined in the one or more initial stages and one or more packet specific attributes, and forwarding the packet to the determined specific destination.
    Type: Grant
    Filed: May 4, 2016
    Date of Patent: July 3, 2018
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Nir Haim Arad, Noam Bloch, Ariel Shahar, Hillel Chapman, Amir Wated
  • Publication number: 20180183895
    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: Application
    Filed: December 26, 2016
    Publication date: June 28, 2018
    Inventors: Shahaf Shuler, Noam Bloch, Yossef Itigin
  • Publication number: 20180102976
    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: Application
    Filed: December 10, 2017
    Publication date: April 12, 2018
    Inventors: Michael Kagan, Noam Bloch
  • Patent number: 9925492
    Abstract: Remote transactions using transactional memory are carried out over a data network between an initiator host and a remote target. The transaction comprises a plurality of input-output (IO) operations between an initiator network interface controller and a target network interface controller. The IO operations are controlled by the initiator network interface controller and the target network interface controller to cause the first process to perform accesses to the memory location atomically.
    Type: Grant
    Filed: March 23, 2015
    Date of Patent: March 27, 2018
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Shlomo Raikin, Liran Liss, Ariel Shachar, Noam Bloch, Michael Kagan
  • Patent number: 9894005
    Abstract: A method in a network element that includes multiple interfaces for connecting to a communication network includes receiving from the communication network via an ingress interface a flow including a sequence of packets, and routing the packets to a destination of the flow via a first egress interface. A permission indication for re-routing the flow is received in the ingress interface. In response to receiving the permission indication, subsequent packets of the flow are re-routed via a second egress interface that is different from the first egress interface. Further re-routing of the flow is refrained from, until receiving another permission indication.
    Type: Grant
    Filed: March 31, 2015
    Date of Patent: February 13, 2018
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Shachar Raindel, Idan Burstein, Noam Bloch, Benny Koren, Barak Gafni, Dror Goldenberg, Liran Liss
  • Patent number: 9871734
    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: May 28, 2012
    Date of Patent: January 16, 2018
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Michael Kagan, Noam Bloch
  • Publication number: 20180004705
    Abstract: A method for data transfer includes transmitting a sequence of data packets, including at least a first packet and a second packet transmitted subsequently to the first packet, from a first computer over a network to a second computer in a single remote direct memory access (RDMA) data transfer transaction. Upon receipt of the second packet at the second computer without previously having received the first packet, a negative acknowledgment (NAK) packet is sent from the second computer over the network to the first computer, indicating that the first packet was not received. In response to the NAK packet, the first packet is retransmitted from the first computer to the second computer without retransmitting the second packet.
    Type: Application
    Filed: June 29, 2016
    Publication date: January 4, 2018
    Inventors: Adi Menachem, Ariel Shahar, Noam Bloch, Diego Crupnicoff, Michael Kagan
  • Publication number: 20170255590
    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: Application
    Filed: February 28, 2017
    Publication date: September 7, 2017
    Inventors: Shahaf Shuler, Noam Bloch, Gil Bloch
  • Publication number: 20170255501
    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: Application
    Filed: March 1, 2017
    Publication date: September 7, 2017
    Inventors: Shahaf Shuler, Noam Bloch, Gil Bloch
  • Patent number: 9742855
    Abstract: A method for communication includes posting, by a software process, a set of buffers in a memory of a host processor and creating in the memory a list of labels associated respectively with the buffers. The software process pushes a first part of the list to a network interface controller (NIC), while retaining a second part of the list in the memory under control of the software process. Upon receiving a message containing a label, sent over a network, the NIC compares the label to the labels in the first part of the list and, upon finding a match to the label, writes data conveyed by the message to a buffer in the memory. Upon a failure to find the match in the first part of the list, the NIC passes the message from the NIC to the software process for handling using the second part of the list.
    Type: Grant
    Filed: August 25, 2015
    Date of Patent: August 22, 2017
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Shahaf Shuler, Noam Bloch, Ofer Hayut, Richard Graham, Ariel Shahar, Yossef Itigin
  • Patent number: 9727503
    Abstract: A data storage system includes a storage server, including non-volatile memory (NVM) and a server network interface controller (NIC), which couples the storage server to a network. A host computer includes a host central processing unit (CPU), a host memory and a host NIC, which couples the host computer to the network. The host computer runs a driver program that is configured to receive, from processes running on the host computer, commands in accordance with a protocol defined for accessing local storage devices connected to a peripheral component interface bus of the host computer, and upon receiving a storage access command in accordance with the protocol, to initiate a remote direct memory access (RDMA) operation to be performed by the host and server NICs so as to execute on the storage server, via the network, a storage transaction specified by the command.
    Type: Grant
    Filed: March 17, 2014
    Date of Patent: August 8, 2017
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Michael Kagan, Noam Bloch, Shlomo Raikin, Yaron Haviv, Idan Burstein
  • Patent number: 9696942
    Abstract: A method for data storage includes configuring a driver program on a host computer to receive commands in accordance with a protocol defined for accessing local storage devices connected to a peripheral component interface bus of the host computer. When the driver program receives, from an application program running on the host computer a storage access command in accordance with the protocol, specifying a storage transaction, a remote direct memory access (RDMA) operation is performed by a network interface controller (NIC) connected to the host computer so as to execute the storage transaction via a network on a remote storage device.
    Type: Grant
    Filed: March 17, 2014
    Date of Patent: July 4, 2017
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Michael Kagan, Noam Bloch, Shlomo Raikin, Yaron Haviv, Idan Burstein
  • Patent number: 9678818
    Abstract: A method for network access of remote memory directly from a local instruction stream using conventional loads and stores. In cases where network IO access (a network phase) cannot overlap a compute phase, a direct network access from the instruction stream greatly decreases latency in CPU processing. The network is treated as yet another memory that can be directly read from, or written to, by the CPU. Network access can be done directly from the instruction stream using regular loads and stores. Example scenarios where synchronous network access can be beneficial are SHMEM (symmetric hierarchical memory access) usages (where the program directly reads/writes remote memory), and scenarios where part of system memory (for example DDR) can reside over a network and made accessible by demand to different CPUs.
    Type: Grant
    Filed: January 29, 2015
    Date of Patent: June 13, 2017
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Shlomo Raikin, Noam Bloch, Richard Graham, Ofer Hayut, Michael Kagan, Liran Liss
  • Patent number: 9639464
    Abstract: A method for data transfer includes receiving in an operating system of a host computer an instruction initiated by a user application running on the host processor identifying a page of virtual memory of the host computer that is to be used in receiving data in a message that is to be transmitted over a network to the host computer but has not yet been received by the host computer. In response to the instruction, the page is loaded into the memory, and upon receiving the message, the data are written to the loaded page.
    Type: Grant
    Filed: September 27, 2012
    Date of Patent: May 2, 2017
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Haggai Eran, Shachar Raindel, Liran Liss, Noam Bloch
  • Patent number: 9632901
    Abstract: A method for data transfer includes receiving in a data transfer operation data to be written by a peripheral device to a specified virtual address in a random access memory (RAM) of a host computer. Upon receiving the data, it is detected that a page that contains the specified virtual address is marked as not present in a page table of the host computer. The peripheral device receives a notification that the page is not present and an estimate of a length of time that will be required to make the page available and selects a mode for handling of the data transfer operation depending upon the estimate.
    Type: Grant
    Filed: September 7, 2015
    Date of Patent: April 25, 2017
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Shlomo Raikin, Shachar Raindel, Noam Bloch, Liran Liss
  • Publication number: 20170093699
    Abstract: A method for congestion control includes receiving at a destination computer a packet transmitted on a given flow, in accordance with a predefined transport protocol, through a network by a transmitting network interface controller (NIC) of a source computer, and marked by an element in the network with a forward congestion notification. Upon receiving the marked packet in a receiving NIC of the destination computer, a congestion notification packet (CNP) indicating a flow to be throttled is immediately queued for transmission from the receiving NIC through the network to the source computer. Upon receiving the CNP in the transmitting NIC, transmission of further packets on at least the flow indicated by the CNP from the transmitting NIC to the network is immediately throttled, and an indication of the given flow is passed from the transmitting NIC to a protocol processing software stack running on the source computer.
    Type: Application
    Filed: September 28, 2016
    Publication date: March 30, 2017
    Inventors: Diego Crupnicoff, Michael Kagan, Noam Bloch, Adi Menachem
  • Publication number: 20160359768
    Abstract: Communication apparatus includes a host interface, which is configured to be connected to a peripheral component bus, and a network interface, which is configured to be connected to a network. Packet processing circuitry is coupled between the host interface and the network interface and is configured to receive from a first interface, selected from among the host interface and the network interface, a data packet comprising a header containing multiple fields having respective values, to identify, responsively to a value of at least one of the fields, a corresponding entry in a header modification table, and to modify the header in accordance with the identified entry. The data packet with the modified header is transmitted through a second interface selected from among the host interface and the network interface.
    Type: Application
    Filed: June 3, 2015
    Publication date: December 8, 2016
    Inventors: Lior Narkis, Noam Bloch
  • Patent number: 9497125
    Abstract: In a data network congestion control in a virtualized environment is enforced in packet flows to and from virtual machines in a host. A hypervisor and network interface hardware in the host are trusted components. Enforcement comprises estimating congestion states in the data network attributable to respective packet flows, recognizing a new packet that belongs to one of the data packet flows, and using one or more of the trusted components and to make a determination based on the congestion states that the new packet belongs to a congestion-producing packet flow. A congestion-control policy is applied by one or more of the trusted components to the new packet responsively to the determination.
    Type: Grant
    Filed: July 23, 2014
    Date of Patent: November 15, 2016
    Assignee: MELLANOX TECHNOLOGIES LTD.
    Inventors: Shachar Raindel, Noam Bloch, Liran Liss, Diego Crupnicoff, Marina Lipshteyn, Adi Menachem
  • Publication number: 20160294715
    Abstract: A method in a network element that includes multiple interfaces for connecting to a communication network includes receiving from the communication network via an ingress interface a flow including a sequence of packets, and routing the packets to a destination of the flow via a first egress interface. A permission indication for re-routing the flow is received in the ingress interface. In response to receiving the permission indication, subsequent packets of the flow are re-routed via a second egress interface that is different from the first egress interface. Further re-routing of the flow is refrained from, until receiving another permission indication.
    Type: Application
    Filed: March 31, 2015
    Publication date: October 6, 2016
    Inventors: Shachar Raindel, Idan Burstein, Noam Bloch, Benny Koren, Barak Gafni, Dror Goldenberg, Liran Liss
  • Publication number: 20160294926
    Abstract: A method for communication includes receiving multiple work requests from a process running on a computer to transmit respective messages over a network. A single work item corresponding to the multiple work requests is submitted to a network interface controller (NIC) connected to the computer. In response to the single work item, multiple data packets carrying the respective messages are transmitted from the NIC to the network.
    Type: Application
    Filed: March 23, 2016
    Publication date: October 6, 2016
    Inventors: Itay Zur, Noam Bloch, Ariel Shahar, Dotan Finkelstein