Patents by Inventor Pedro Reviriego

Pedro Reviriego 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: 20240146652
    Abstract: Network devices, systems, and methods are provided. In one example, a network device includes one or more packet classification circuits and one or more hash selection circuits that cooperate with the one or more packet classification circuits to provide the one or more packet classification circuits with a hash table selection order. The hash table selection order may be determined for a packet to be classified with the support of machine learning by the one or more packet classification circuits based on information contained in the packet.
    Type: Application
    Filed: November 2, 2022
    Publication date: May 2, 2024
    Inventors: Gil Levy, Pedro Reviriego, Gonzalo Martínez, José Alberto Hernández-Gutiérrez
  • Patent number: 11917042
    Abstract: A network element includes one or more ports and a packet processor. The one or more ports are to transmit and receive packets over a network. The packet processor is to apply a plurality of rules to the packets, each rule specifying (i) expected values for each header field of a group of header fields of the packets, including, for a given header field in the group, at least a set of multiple expected values, (ii) a group ID associated with the set, and (iii) an action to be applied to the packets whose header fields match the expected values.
    Type: Grant
    Filed: August 15, 2021
    Date of Patent: February 27, 2024
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Gil Levy, Aviv Kfir, Pedro Reviriego, Salvatore Pontarelli
  • Patent number: 11782895
    Abstract: A hashing apparatus includes a memory and circuitry. The memory stores (i) multiple hash tables storing associative entries, each including at least one entry key and a respective value, the hash tables are associated with respective different hash functions, and an associative entry is accessible by applying the relevant hash function to a key matching an entry key in the associative entry, and (ii) an affinity table that stores table-selectors for selecting hash tables with which to start a key lookup. The circuitry receives a key, reads from the affinity table, by applying an affinity function to the key, a table-selector that selects a hash table, accesses in the selected hash table an associative entry by applying the hash function associated with the selected hash table to the key, and in response to detecting that the key matches an entry key in the associative entry, outputs the respective value.
    Type: Grant
    Filed: September 7, 2020
    Date of Patent: October 10, 2023
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Aviad Levy, Gil Levy, Pedro Reviriego, Salvatore Pontarelli
  • Publication number: 20230050155
    Abstract: A network element includes one or more ports and a packet processor. The one or more ports are to transmit and receive packets over a network. The packet processor is to apply a plurality of rules to the packets, each rule specifying (i) expected values for each header field of a group of header fields of the packets, including, for a given header field in the group, at least a set of multiple expected values, (ii) a group ID associated with the set, and (iii) an action to be applied to the packets whose header fields match the expected values.
    Type: Application
    Filed: August 15, 2021
    Publication date: February 16, 2023
    Inventors: Gil Levy, Aviv Kfir, Pedro Reviriego, Salvatore Pontarelli
  • Patent number: 11550715
    Abstract: A system includes a memory, including a plurality of memory locations having different respective addresses, and a processor. The processor is configured to compute one of the addresses from (i) a first sequence of bits derived from a tag of a data item, and (ii) a second sequence of bits representing a class of the data item. The processor is further configured to write the data item to the memory location having the computed address and/or read the data item from the memory location having the computed address. Other embodiments are also described.
    Type: Grant
    Filed: August 16, 2020
    Date of Patent: January 10, 2023
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Gil Levy, Pedro Reviriego, Salvatore Pontarelli
  • Patent number: 11502912
    Abstract: A network device includes at least one communication ingress port, ingress packet processing circuitry and a packet-action cache memory (PACM). The at least one communication ingress port is configured to receive packets including packet headers from a network. The ingress packet processing circuitry is configured to receive the packets and to process the packets in accordance with respective packet actions specified for the packets. The PACM is configured to store one or more of the packet actions in association with one or more respective fingerprints which are calculated over the packet headers of the corresponding packets, for use by the ingress packet processing circuitry. The fingerprints are smaller than the corresponding packet headers.
    Type: Grant
    Filed: December 30, 2020
    Date of Patent: November 15, 2022
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Gil Levy, Pedro Reviriego, Salvatore Pontarelli
  • Patent number: 11502957
    Abstract: In one embodiment, a packet processing apparatus includes interfaces, a memory to store a representation of a routing table as a binary search tree of address prefixes, and store a marker with an embedded prefix including k marker bits providing a marker for an address prefix of a node corresponding to a prefix length greater than k, and n additional bits, such that the k marker bits concatenated with the n additional bits provide another address prefix, packet processing circuitry configured upon receiving a data packet having a destination address, to traverse the binary search tree to find a longest prefix match, compare a key with the k marker bits, extract an additional n bits from the destination address, and compare the extracted n bits with the n additional bits, and process the data packet in accordance with a forwarding action indicated by the longest prefix match.
    Type: Grant
    Filed: April 7, 2021
    Date of Patent: November 15, 2022
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Gil Levy, Aviv Kfir, Matty Kadosh, Salvatore Pontarelli, Pedro Reviriego
  • Publication number: 20220210022
    Abstract: A network device includes at least one communication ingress port, ingress packet processing circuitry and a packet-action cache memory (PACM). The at least one communication ingress port is configured to receive packets including packet headers from a network. The ingress packet processing circuitry is configured to receive the packets and to process the packets in accordance with respective packet actions specified for the packets. The PACM is configured to store one or more of the packet actions in association with one or more respective fingerprints which are calculated over the packet headers of the corresponding packets, for use by the ingress packet processing circuitry. The fingerprints are smaller than the corresponding packet headers.
    Type: Application
    Filed: December 30, 2020
    Publication date: June 30, 2022
    Inventors: Gil Levy, Pedro Reviriego, Salvatore Pontarelli
  • Patent number: 11327974
    Abstract: A collection of rules comprising fields that may have wildcard values. The method includes defining first and second subsets of the fields, the second subset being exclusive of the first subset. Intersections of overlapping fields of the first subset are added to the first subset to form an augmented first subset. Metadata from the augmented first subset and the fields not selected for the first subset are combined to define second parts of the rules. Data items are classified by matching a search key to one of the first parts and one of the second parts of the rules.
    Type: Grant
    Filed: August 2, 2018
    Date of Patent: May 10, 2022
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Gil Levy, Aviv Kfir, Salvatore Pontarelli, Pedro Reviriego, Matty Kadosh
  • Publication number: 20220075766
    Abstract: A hashing apparatus includes a memory and circuitry. The memory stores (i) multiple hash tables storing associative entries, each including at least one entry key and a respective value, the hash tables are associated with respective different hash functions, and an associative entry is accessible by applying the relevant hash function to a key matching an entry key in the associative entry, and (ii) an affinity table that stores table-selectors for selecting hash tables with which to start a key lookup. The circuitry receives a key, reads from the affinity table, by applying an affinity function to the key, a table-selector that selects a hash table, accesses in the selected hash table an associative entry by applying the hash function associated with the selected hash table to the key, and in response to detecting that the key matches an entry key in the associative entry, outputs the respective value.
    Type: Application
    Filed: September 7, 2020
    Publication date: March 10, 2022
    Inventors: Aviad Levy, Gil Levy, Pedro Reviriego, Salvatore Pontarelli
  • Publication number: 20220050774
    Abstract: A system includes a memory, including a plurality of memory locations having different respective addresses, and a processor. The processor is configured to compute one of the addresses from (i) a first sequence of bits derived from a tag of a data item, and (ii) a second sequence of bits representing a class of the data item. The processor is further configured to write the data item to the memory location having the computed address and/or read the data item from the memory location having the computed address. Other embodiments are also described.
    Type: Application
    Filed: August 16, 2020
    Publication date: February 17, 2022
    Inventors: Gil Levy, Pedro Reviriego, Salvatore Pontarelli
  • Publication number: 20210359943
    Abstract: In one embodiment, a packet processing apparatus includes interfaces, a memory to store a representation of a routing table as a binary search tree of address prefixes, and store a marker with an embedded prefix including k marker bits providing a marker for an address prefix of a node corresponding to a prefix length greater than k, and n additional bits, such that the k marker bits concatenated with the n additional bits provide another address prefix, packet processing circuitry configured upon receiving a data packet having a destination address, to traverse the binary search tree to find a longest prefix match, compare a key with the k marker bits, extract an additional n bits from the destination address, and compare the extracted n bits with the n additional bits, and process the data packet in accordance with a forwarding action indicated by the longest prefix match.
    Type: Application
    Filed: April 7, 2021
    Publication date: November 18, 2021
    Inventors: Gil Levy, Aviv Kfir, Matty Kadosh, Salvatore Pontarelli, Pedro Reviriego
  • Publication number: 20200042629
    Abstract: A collection of rules comprising fields that may have wildcard values. The method includes defining first and second subsets of the fields, the second subset being exclusive of the first subset. Intersections of overlapping fields of the first subset are added to the first subset to form an augmented first subset. Metadata from the augmented first subset and the fields not selected for the first subset are combined to define second parts of the rules. Data items are classified by matching a search key to one of the first parts and one of the second parts of the rules.
    Type: Application
    Filed: August 2, 2018
    Publication date: February 6, 2020
    Inventors: Gil Levy, Aviv Kfir, Salvatore Pontarelli, Pedro Reviriego, Matty Kadosh
  • Patent number: 10515015
    Abstract: A data packet is received in a network element. The network element has a cache memory in which cache entries represent a portion of addresses stored in a main memory, The destination address and the cache entries each comprise a binary number. A hash function is applied to the masked destination address to access a hash table. When the number of most significant bits corresponding to the value in the hash table in one of the cache entries and in the destination address are identical, routing information for the packet is retrieved from the cache entry.
    Type: Grant
    Filed: March 20, 2018
    Date of Patent: December 24, 2019
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Gil Levy, Aviv Kfir, Salvatore Pontarelli, Pedro Reviriego
  • Patent number: 10496680
    Abstract: A method for classification includes extracting respective classification keys from a collection of data items and defining a set of patterns for matching to the classification keys. A plurality of memory banks contain respective Bloom filters, each Bloom configured to indicate one or more patterns in the set that are candidates to match a given classification key. A respective first hash function is applied to the classification keys for each pattern in order to select, for each classification key, one of the Bloom filters to query for the pattern. The selected Bloom filters are queried by applying a respective second hash function to each classification key, so as to receive from the Bloom filters an indication of the one or more candidate patterns. The data items are classified by matching the respective classification keys against the candidate patterns.
    Type: Grant
    Filed: August 17, 2015
    Date of Patent: December 3, 2019
    Assignee: Mellanox Technologies TLV Ltd.
    Inventors: Gil Levy, Pedro Reviriego, Salvatore Pontarelli, Efim Yehiel Kravchik
  • Patent number: 10491521
    Abstract: In a network element cache operation is enhanced by extracting a set of fields from a packet, constructing a hash key from the extracted fields, and identifying a subset of the fields, wherein the field values thereof fail to exist in a set of classification rules. The hash key by is modified by masking the subset of the extracted fields. A hash lookup is performed using the modified hash key in a cache memory that stores a portion of the classification rules. The packet is processed responsively to the lookup.
    Type: Grant
    Filed: March 26, 2017
    Date of Patent: November 26, 2019
    Assignee: Mellanox Technologies TLV Ltd.
    Inventors: Gil Levy, Pedro Reviriego, Salvatore Pontarelli, Aviv Kfir
  • Patent number: 10476794
    Abstract: Communication apparatus includes a TCAM, which stores a corpus of rules, including respective sets of unmasked and masked bits. The rules conform to respective rule patterns, each defining a different, respective sequence of masked and unmasked bits to which one or more of the rules conform. A RAM caches rule entries corresponding to rules belonging to one or more of the rule patterns that have been selected for caching. Decision logic extracts respective classification keys from data packets, each key including a string of bits extracted from selected fields in a given data packet, and classifies the data packets by first matching the respective classification keys to the cached rule entries in the RAM and, when no match is found in the RAM, by matching the respective classification keys to the rules in the TCAM.
    Type: Grant
    Filed: July 30, 2017
    Date of Patent: November 12, 2019
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Gil Levy, Pedro Reviriego, Aviv Kfir, Salvatore Pontarelli
  • Publication number: 20190294549
    Abstract: A data packet is received in a network element. The network element has a cache memory in which cache entries represent a portion of addresses stored in a main memory, The destination address and the cache entries each comprise a binary number. A hash function is applied to the masked destination address to access a hash table. When the number of most significant bits corresponding to the value in the hash table in one of the cache entries and in the destination address are identical, routing information for the packet is retrieved from the cache entry.
    Type: Application
    Filed: March 20, 2018
    Publication date: September 26, 2019
    Inventors: Gil Levy, Aviv Kfir, Salvatore Pontarelli, Pedro Reviriego
  • Publication number: 20190036821
    Abstract: Communication apparatus includes a TCAM, which stores a corpus of rules, including respective sets of unmasked and masked bits. The rules conform to respective rule patterns, each defining a different, respective sequence of masked and unmasked bits to which one or more of the rules conform. A RAM caches rule entries corresponding to rules belonging to one or more of the rule patterns that have been selected for caching. Decision logic extracts respective classification keys from data packets, each key including a string of bits extracted from selected fields in a given data packet, and classifies the data packets by first matching the respective classification keys to the cached rule entries in the RAM and, when no match is found in the RAM, by matching the respective classification keys to the rules in the TCAM.
    Type: Application
    Filed: July 30, 2017
    Publication date: January 31, 2019
    Inventors: Gil Levy, Pedro Reviriego, Aviv Kfir, Salvatore Pontarelli
  • Patent number: 10171419
    Abstract: A data packet is received in a network element. The network element has a cache memory in which cache entries represent a portion of addresses stored in a main memory, The destination address and the cache entries each comprise a binary number. A first determination is made that a number M of the most significant bits of a cache entry and the destination address are identical. A second determination is made that an additional number M+L of the most significant bits of a cache entry and the destination address are identical. Routing information is then retrieved the cache memory, and the packet processed according to the routing information.
    Type: Grant
    Filed: June 19, 2016
    Date of Patent: January 1, 2019
    Assignee: Mellanox Technologies TLC Ltd.
    Inventors: Fima Kravchik, Pedro Reviriego, Salvatore Pontarelli, Aviv Kfir, Amir Roitshtein, Gil Levy