Patents Assigned to Mellanox Technologies TLV Ltd.
  • Patent number: 10069701
    Abstract: Communication apparatus includes multiple ports configured to serve as ingress ports and egress ports for connection to a packet data network. A single memory array is coupled to the ports and configured to contain both a respective headroom allocation for each ingress port and a shared buffer holding data packets for transmission in multiple queues via the egress ports. Control logic is configured to adjustably allocate to each ingress port a respective volume of memory within the single memory array to serve as the respective headroom allocation, and to queue the data packets in the multiple queues in the single memory array for transmission through the egress ports.
    Type: Grant
    Filed: January 13, 2016
    Date of Patent: September 4, 2018
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: George Elias, Barak Gafni, Shachar Bar Tikva, Roy Kriss, Eran Rubinstein
  • Patent number: 10068034
    Abstract: A method includes extracting classification keys from a collection of data items. A corpus of rules for matching to the classification keys is received, each rule including a respective set of unmasked bits having corresponding bit values, and at least some of the rules also include masked bits. Rule patterns are extracted from the corpus, each rule pattern defining a respective sequence of masked and unmasked bits to which one or more of the rules conforms. Multiple hash tables are defined in a RAM, each is used for searching for a rule that matches a given classification key. A match result of a given rule in a given hash table is also indicative of which of the other hash tables are to be used for subsequent searching. The data items are classified by matching the respective classification keys to the rules using one or more of the hash tables.
    Type: Grant
    Filed: September 7, 2016
    Date of Patent: September 4, 2018
    Assignee: Mellanox Technologies TLV Ltd.
    Inventors: Gil Levy, Pedro Reviriego, Salvatore Pontarelli
  • Patent number: 10057017
    Abstract: Communication apparatus includes an input circuit, which receives a sequence of symbols arranged in a series of data blocks, including data symbols that encode the data and forward error correction (FEC) symbols that encode an error correction code. The input circuit decodes the data encoded by the data symbols and passes the decoded data to a buffer for output to a data link layer interface irrespective of the FEC symbols. An error correction circuit receives the data and the error correction code from the input circuit, and upon detecting an error in a given data block in the series, passes the corrected data from the given data block to the buffer for output to the data link layer interface in place of the data from the given data block that the input circuit decoded and passed to the buffer.
    Type: Grant
    Filed: March 28, 2017
    Date of Patent: August 21, 2018
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Liron Mula, Ran Ravid, Oded Wertheim, Ran Sela, Roy Kriss
  • Patent number: 10049126
    Abstract: Decision apparatus includes a first memory bank, containing a first table of hash composition factors, and a second memory bank, containing second and third tables of associative entries. A logic pipeline receives a sequence of data items and extracts a search key from each data item. A pre-hash circuit computes a first index by applying a first hash function to the search key. A first lookup circuit reads a hash composition factor from a location in the first memory bank indicated by the first index, and a hash circuit compute second and third indices as different combinations, determined by the hash composition factor, of second and third hash functions applied by the hash circuit to the search key. A second lookup circuit reads the entries in the second and third tables that are indicated respectively by the second and third indices.
    Type: Grant
    Filed: September 6, 2015
    Date of Patent: August 14, 2018
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Gil Levy, Pedro Reviriego, Salvatore Pontarelli
  • Patent number: 10015112
    Abstract: Communication apparatus includes multiple interfaces connected to a packet data network. A memory is coupled to the interfaces and configured as a buffer to contain packets received through ingress interfaces while awaiting transmission to the network via respective egress interfaces. Packet processing logic is configured, upon receipt of a multicast packet through an ingress interface, to identify a number of the egress interfaces through which respective copies of the multicast packet are to be transmitted, to allocate a space in the buffer for storage of a single copy of the multicast packet, to replicate and transmit multiple copies of the stored copy of the multicast packet through the egress interfaces, to maintain a count of the replicated copies that have been transmitted, and when the count reaches the identified number, to release the allocated space in the buffer.
    Type: Grant
    Filed: December 8, 2015
    Date of Patent: July 3, 2018
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Amir Roitshtein, Niv Aibester, Barak Gafni, George Elias
  • Patent number: 10009277
    Abstract: Communication apparatus includes a plurality of interfaces configured to be connected to a Layer-3 packet network and to serve as ingress and egress interfaces to receive and transmit packets from and to the network. Routing logic is coupled to process respective Layer-3 headers of the packets received through the ingress interfaces and to route the packets via the egress interfaces to respective destinations indicated by the Layer-3 headers. Congestion detection logic is coupled to identify a flow of the received packets that is causing congestion in the network and a Layer-3 address from which the flow originates, and to direct the routing logic to route a backward congestion notification message (CNM) packet via one of the egress interfaces to the identified Layer-3 address.
    Type: Grant
    Filed: August 2, 2016
    Date of Patent: June 26, 2018
    Assignee: Mellanox Technologies TLV Ltd.
    Inventors: Dror Goldenberg, Alex Shpiner, Gil Levy, Barak Gafni, Shachar Raindel
  • Patent number: 9984144
    Abstract: A method for classification includes extracting respective classification keys from a collection of data items and receiving a corpus of rules for matching to the classification keys. At least some of the rules include masked bits in addition to the unmasked bits. Rule patterns are extracted from the corpus, defining different, respective sequences of masked and unmasked bits to which one or more of the rules conform. The rule patterns are grouped into extended rule patterns, such that the respective set of unmasked bits in any rule pattern is a superset of the unmasked bits in the extended rule pattern into which it is grouped. Rule entries corresponding to the rules are computed using the extended rule patterns and are stored in a random access memory (RAM). The data items are classified by matching the respective classification keys to the rule entries in the RAM.
    Type: Grant
    Filed: August 17, 2015
    Date of Patent: May 29, 2018
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Gil Levy, Pedro Reviriego, Salvatore Pontarelli
  • Patent number: 9985910
    Abstract: A method for communication includes receiving and forwarding packets in multiple flows to respective egress interfaces of a switching element for transmission to a network. For each of one or more of the egress interfaces, in each of a succession of arbitration cycles, a respective number of the packets in each of the plurality of the flows that are queued for transmission through the egress interface is assessed, and the flows for which the respective number is zero are assigned to a first group, while the flows for which the respective number is non-zero are assigned to a second group. The received packets that have been forwarded to the egress interface and belong to the flows in the first group are transmitted with a higher priority than the flows in the second group.
    Type: Grant
    Filed: June 28, 2016
    Date of Patent: May 29, 2018
    Assignee: Mellanox Technologies TLV Ltd.
    Inventors: Barak Gafni, Benny Koren, George Elias, Itamar Rabenstein, Eyal Srebro, Sagi Kuks, Niv Aibester
  • Patent number: 9973435
    Abstract: A method for communication includes, in a network node that includes a plurality of ports, specifying for a given destination address at least one Adaptive Routing (AR) group. The at least one AR group includes two or more ports over which packets destined to the given destination address are to be adaptively routed. A packet destined to the given destination address is received at the network node, via one of the ports serving as an ingress port. An egress port is adaptively selected for the packet, from the ports in the at least one AR group but excluding the ingress port over which the packet was received. The packet is routed to the selected egress port.
    Type: Grant
    Filed: December 16, 2015
    Date of Patent: May 15, 2018
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Zachy Haramaty, Itamar Rabenstein, Amiad Marelli
  • Patent number: 9892057
    Abstract: In a network element a decision apparatus has a plurality of multi-way hash tables of single size and double size associative entries. A logic pipeline extracts a search key from each of a sequence of received data items. A hash circuit applies first and second hash functions to the search key to generate first and second indices. A lookup circuit reads associative entries in the hash tables that are indicated respectively by the first and second indices, matches the search key against the associative entries in all the ways. Upon finding a match between the search key and an entry key in an indicated associative entry. A processor uses the value of the indicated associative entry to insert associative entries from a stash of associative entries into the hash tables in accordance with a single size and a double size cuckoo insertion procedure.
    Type: Grant
    Filed: March 31, 2016
    Date of Patent: February 13, 2018
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Gil Levy, Salvatore Pontarelli, Pedro Reviriego
  • Patent number: 9876727
    Abstract: A method for communication includes transmitting a sequence of outgoing data blocks from a network node over a communication link to a peer node, and receiving incoming data blocks from the peer node. A control field is added in a predefined location in each of the outgoing data blocks in the sequence by the network node. In at least a first subset of the outgoing data blocks in the sequence, the control field contains error control information, which is capable of causing the peer node to retransmit one or more of the incoming data blocks to the network node, while in at least a second subset of the outgoing data blocks in the sequence, disjoint from the first subset, the control field contains a flow control instruction, configured to cause the peer node to alter a rate of transmission of the incoming data blocks over the link.
    Type: Grant
    Filed: March 23, 2015
    Date of Patent: January 23, 2018
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Chen Gaist, Ran Ravid, Liron Mulla, Avner Hadash
  • Patent number: 9853900
    Abstract: ECMP routing is carried out in fabric of network entities by representing valid destinations and invalid destinations in a group of the entities by a member vector. The order of the elements in the member vector is permuted and fanned out. A portion of the elements in the fanned out vector is pseudo-randomly masked. A flow of packets is transmitted to the first valid destination in the masked member vector.
    Type: Grant
    Filed: August 7, 2017
    Date of Patent: December 26, 2017
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Liron Mula, Gil Levy, Aviv Kfir
  • Patent number: 9762491
    Abstract: Communication apparatus includes multiple interfaces configured for connection to a packet data network. A memory, coupled to the interfaces, is configured as a shared buffer to contain packets in multiple sets of queues for transmission to the network. Each set of queues receives in the shared buffer a respective allocation having an allocation size that varies over time in response to an amount of space in the shared buffer that is unused at any given time. A controller is configured to apply congestion control to a respective fraction of the packets that are queued for transmission from each set of queues in the shared buffer to the network, such that the respective fraction is set for each set of queues at any given time in response to a relation between a length of the queues in the set and the allocation size of the respective allocation at the given time.
    Type: Grant
    Filed: March 30, 2015
    Date of Patent: September 12, 2017
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Barak Gafni, Benny Koren, George Elias
  • Patent number: 9706017
    Abstract: A method for classification includes storing in a TCAM classification rules comprising respective tags, each including an update bit. Data items are classified by extracting a respective key from each data item, appending an update-select bit to construct an extended key, and matching the extended key to one of the tags in the TCAM. In response to an instruction to atomically replace a group of existing rules in the TCAM with new rules, the update bit is unmasked and set to the first bit value in the group of the existing rules. The new rules are stored in the TCAM, with their update bit set to a second bit value. After storing the new rules in the TCAM, the update-select bit in the extended key of the received data items is set to the second bit value.
    Type: Grant
    Filed: September 29, 2015
    Date of Patent: July 11, 2017
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Ariel Almog, Aviv Kfir, David Mozes, Barak Gafni
  • Patent number: 9699095
    Abstract: Communication apparatus includes multiple ports for connection to a packet data network. A memory contains, for each port, a respective first, fixed headroom allocation to hold packets received from the network through the port and to contain a shared headroom buffer, which is available to be shared among a plurality of the ports. Flow-control logic allocates to each of the ports, within the shared headroom buffer, a respective second, variable headroom allocation, which varies responsively to fill levels of the respective first headroom allocation and of the shared headroom buffer, thereby defining, for each of the ports, a respective total headroom allocation comprising the respective first and second headroom allocations. The logic is configured to apply flow-control operations in response to the packets received from the network through each port responsively to a total fill level of the respective total headroom allocation of the port.
    Type: Grant
    Filed: May 21, 2015
    Date of Patent: July 4, 2017
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: George Elias, Ido Bukspan, Noam Katz Abramovich, Barak Gafni
  • Patent number: 9673934
    Abstract: Communication apparatus includes a PHY interface, which is configured to receive over a communication link and to decode a sequence of symbols arranged in a series of data blocks. The PHY interface includes an error correction circuit, which when actuated, corrects errors in decoded data symbols using FEC symbols in the data blocks. The decoded data include data packets containing respective error detection codes. A memory buffers the data blocks received by the PHY interface. A data link layer interface receives the data packets from the PHY interface, checks the data packets using respective error detection codes, and upon detecting an error in a given data packet, signals the PHY interface to read from the memory at least one buffered data block that contains the given data packet while actuating the error correction circuit to correct the error using the FEC symbols in the at least one buffered data block.
    Type: Grant
    Filed: September 30, 2015
    Date of Patent: June 6, 2017
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Liron Mula, Ran Ravid, Oded Wertheim, Ran Sela, Roy Kriss
  • Patent number: 9525623
    Abstract: A method for communication includes defining a pipe traversing a sequence of routers through an MPLS network, and specifying for the pipe an outer label that indicates a first quality of service (QoS) for the packets in the pipe. Upon receiving a packet at the ingress to the pipe, the outer label is appended to the packet, and the packet with the outer label is forwarded through the pipe. At each of the routers in the sequence, the packet is forwarded through the pipe in accordance with the outer label at the first quality of service. At a transitional router, in proximity to the egress from the pipe, the outer label is popped from the packet, and a second QoS is identified based on a field remaining in the packet after popping the outer label. The packet is then forwarded at the second QoS.
    Type: Grant
    Filed: May 6, 2015
    Date of Patent: December 20, 2016
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Barak Gafni, Ilya Vershkov
  • Patent number: 9385949
    Abstract: A method for communication in a packet data network that includes at least first and second subnets interconnected by multiple routers and having respective first and second subnet managers. The method includes assigning respective local identifiers to ports for addressing of data link traffic within each subnet, such that the first subnet manager assigns the local identifiers in the first subnet, and the second subnet manager assigns the local identifiers in the second subnet. The routers are configured by transmitting and receiving control traffic between the subnet managers and the routers. Data packets are transmitted between network nodes in the first and second subnets via one or more of the configured routers under control of the subnet managers.
    Type: Grant
    Filed: December 20, 2012
    Date of Patent: July 5, 2016
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Ilya Vershkov, Dror Goldenberg, Eitan Zahavi, Diego Crupnicoff, Marina Lipshteyn
  • Patent number: 9306769
    Abstract: A method for communication includes receiving a packet at a first node for transmission over a link to a second node. The data in the packet is divided into a sequence of cells of a predetermined data size. The cells have respective sequence numbers. The cells are transmitted in sequence over the link, while storing the transmitted cells in a buffer at the first node. The first node receives acknowledgments indicating the respective sequence numbers of the transmitted cells that were received at the second node. Upon receiving an indication at the first node that a transmitted cell having a given sequence number was not properly received at the second node, the stored cells are retransmitted from the buffer starting from the cell with the given sequence number.
    Type: Grant
    Filed: October 5, 2010
    Date of Patent: April 5, 2016
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Gil Bloch, Michael Kagan, Diego Crupnicoff, Tamir Azarzar, Ran Ravid
  • Patent number: 9203645
    Abstract: A computing method includes specifying a virtual computer system including at least one virtual or physical compute node, which produces data packets having respective source attributes. At least one Virtual Input-Output Connection (VIOC) that is uniquely associated with the values of the source attributes is defined. A policy specifying an operation to be performed with regard to the VIOC is defined. The virtual computer system is implemented on a physical computer system, which includes at least one physical packet switching element. The physical packet switching element is configured to identify the data packets whose source attributes have the values that are associated with the VIOC and to perform the operation on the identified data packets, so as to enforce the policy on the VIOC.
    Type: Grant
    Filed: March 28, 2012
    Date of Patent: December 1, 2015
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Yaron Haviv, Albert Berlovitch