Patents by Inventor Amir Roitshtein

Amir Roitshtein 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: 10250530
    Abstract: Communication apparatus includes multiple interfaces configured to be connected to a packet data network for receiving and forwarding of data packets of multiple types. A memory is coupled to the interfaces and configured as a buffer to contain packets received through the ingress interfaces while awaiting transmission to the network via the egress interfaces. Packet processing logic is configured to maintain multiple transmit queues, which are associated with respective ones of the egress interfaces, and to place both first and second queue entries, corresponding to first and second data packets of the first and second types, respectively, in a common transmit queue for transmission through a given egress interface, while allocating respective spaces in the buffer to store the first and second data packets against separate, first and second buffer allocations, which are respectively assigned to the first and second types of the data packets.
    Type: Grant
    Filed: March 8, 2016
    Date of Patent: April 2, 2019
    Assignee: Mellanox Technologies TLV Ltd.
    Inventors: Niv Aibester, Amir Roitshtein, Barak Gafni, George Elias, Itamar Rabenstein
  • 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
  • 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: 9923813
    Abstract: In a method for processing packets in a network device, a first packet is received at a first port of the network device. A first set of bits, corresponding to a first set of bit locations in a header of the first packet, is extracted from the header of the first packet. A first set of processing operations is performed to process the first packet using the first set of bits. A second packet is received at a second port of the network device. A second set of bits, corresponding to a second set of bit locations in a header of the second packet, is extracted from the header of the second packet. A second set of processing operations is performed to process the second packet using the second set of bits.
    Type: Grant
    Filed: December 17, 2014
    Date of Patent: March 20, 2018
    Assignee: MARVELL WORLD TRADE LTD.
    Inventors: Gil Levy, Amir Roitshtein, Rami Zemach
  • Patent number: 9906592
    Abstract: A network device includes a packet processor device that determines that packets are to be transmitted via a group of network interfaces, and a load balancing network interface selector. The load balancing network interface selector selects network interfaces in the group via which to egress packets from the network device using a first hash function. In response to determining that a first network interface within the group has become inoperable, the load balancing network interface selector continues to use the first hash function to select network interfaces in the group via which to egress packets from the network device. In response to determining that the first network interface within the group has become inoperable and when the first network interface is selected for packets using the first hash function, the load balancing load balancing network interface selector reselects network interfaces in the group using a second hash function.
    Type: Grant
    Filed: March 13, 2015
    Date of Patent: February 27, 2018
    Assignee: Marvell Israel (M.I.S.L.) Ltd.
    Inventors: Amir Roitshtein, Gil Levy
  • Publication number: 20170366502
    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: Application
    Filed: June 19, 2016
    Publication date: December 21, 2017
    Inventors: Fima Kravchik, Pedro Reviriego, Salvatore Pontarelli, Aviv Kfir, Amir Roitshtein, Gil Levy
  • Patent number: 9819637
    Abstract: A network address associated with a packet is obtained at a search engine of a network device. The search engine includes a plurality of Bloom filters that represent prefixes of respective lengths in the routing table. Respective Bloom filters are applied to respective prefixes of the network address to determine a set of one or more prefixes for which a match potentially exists in the routing table. A number of accesses to the memory are performed using prefixes in set of prefixes, beginning with a longest prefix and continuing in decreasing order of prefix lengths until a matching entry is found in the routing table, and routing information for the packet is retrieved. If the number of performed memory accesses exceeds a threshold, the routing table is adapted to reduce a number of memory accesses to be performed for subsequent packets associated with the network address.
    Type: Grant
    Filed: February 27, 2014
    Date of Patent: November 14, 2017
    Assignee: Marvell World Trade Ltd.
    Inventors: Amir Roitshtein, Gil Levy, Carmi Arad
  • Patent number: 9813336
    Abstract: A first set of bits is extracted from a header of a first packet. A second set of bits is extracted from a header of a second packet. The first set of bits and the second set of bits are combined into a combined single data unit representing the first packet and the second packet. The combined single data unit is transferred to a packet processing device. The packet processing device decomposes the single data unit to extract the first set of bits corresponding to the first packet and the second set of bits corresponding to the second packet. A first reduced set of processing operations is performed to process the first packet using the first set of bits corresponding to the first packet. A second reduced set of processing operations is performed to process the second packet using the second set of bits corresponding to the second packet.
    Type: Grant
    Filed: December 17, 2014
    Date of Patent: November 7, 2017
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Gil Levy, Amir Roitshtein, Rami Zemach
  • Patent number: 9807027
    Abstract: A plurality of packets are received by a packet processing device, and the packets are distributed among two or more packet processing node elements for processing of the packets. The packets are assigned to respective packet classes, each class corresponding to a group of packets for which an order in which the packets were received is to be preserved. The packets are queued in respective queues corresponding to the assigned packet classes and according to an order in which the packets were received by the packet processing device. The packet processing node elements issue respective instructions indicative of processing actions to be performed with respect to the packets, and indications of at least some of the processing actions are stored. A processing action with respect to a packet is performed when the packet has reached a head of a queue corresponding to the class associated with the packet.
    Type: Grant
    Filed: February 29, 2016
    Date of Patent: October 31, 2017
    Assignee: Marvell Isreal (M.I.S.L.) Ltd.
    Inventors: Evgeny Shumsky, Gil Levy, Adar Peery, Amir Roitshtein, Aron Wohlgemuth
  • Publication number: 20170264571
    Abstract: Communication apparatus includes multiple interfaces configured to be connected to a packet data network for receiving and forwarding of data packets of multiple types. A memory is coupled to the interfaces and configured as a buffer to contain packets received through the ingress interfaces while awaiting transmission to the network via the egress interfaces. Packet processing logic is configured to maintain multiple transmit queues, which are associated with respective ones of the egress interfaces, and to place both first and second queue entries, corresponding to first and second data packets of the first and second types, respectively, in a common transmit queue for transmission through a given egress interface, while allocating respective spaces in the buffer to store the first and second data packets against separate, first and second buffer allocations, which are respectively assigned to the first and second types of the data packets.
    Type: Application
    Filed: March 8, 2016
    Publication date: September 14, 2017
    Inventors: Niv Aibester, Amir Roitshtein, Barak Gafni, George Elias, Itamar Rabenstein
  • Patent number: 9705807
    Abstract: Aspects of the disclosure provide a method for counting packets and bytes in a distributed packet-switched system. The method includes receiving a packet stream having at least one packet flow at a device of a packet-switched system having a plurality of distributed devices, statistically determining whether to update a designated device based on receipt of a packet belonging to the packet flow, and transmitting packet counting information to the designated device based on the statistical determination, where the designated device counts packets of the packet flow based on the packet counting information.
    Type: Grant
    Filed: March 4, 2015
    Date of Patent: July 11, 2017
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Amir Roitshtein, Carmi Arad, Gil Levy, Rami Zemach
  • Publication number: 20170163567
    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: Application
    Filed: December 8, 2015
    Publication date: June 8, 2017
    Inventors: Amir Roitshtein, Niv Aibester, Barak Gafni, George Elias
  • Patent number: 9619584
    Abstract: Aspects of the disclosure provide a circuit that includes a content addressable memory (CAM) array, a first mask circuit and a first encoder. The CAM array has CAM entry lines to be compared with a search key. The CAM array is configured to output a match result indicative entry lines that match the search key. The first mask circuit is configured to selectively mask first one or more portions of the match result to generate a first masked match result indicative first entry lines among the entry lines that match the search key. The first encoder is configured to encode the first masked match result to identify a matching entry line in the first entry lines as a first search result.
    Type: Grant
    Filed: August 4, 2014
    Date of Patent: April 11, 2017
    Assignee: Marvell Israel (M.I.S.L.) Ltd.
    Inventors: Amir Roitshtein, Gil Levy, Lior Valency
  • Patent number: 9553820
    Abstract: A plurality of packets that belong to a data flow are received and are distributed to two or more packet processing elements, wherein a packet is sent to a first packet processing element. A first instance of the packet is queued at a first packet processing element according to an order of the packet within the data flow. The first instance of the packet is caused to be transmitted when processing of the first instance is completed and the first instance of the packet is at a head of a queue at the first ordering unit. A second instance of the packet is queued at a second ordering unit. The second instance of the packet is caused to be transmitted when processing of the second instance is completed and the second instance of the packet is at a head of a queue at the second ordering unit.
    Type: Grant
    Filed: March 13, 2014
    Date of Patent: January 24, 2017
    Assignee: Marvell Israel (M.L.S.L) Ltd.
    Inventors: Evgeny Shumsky, Gil Levy, Adar Peery, Amir Roitshtein
  • Patent number: 9503435
    Abstract: Techniques to load balance traffic in a network device or switch include a network device or switch having a first interface to receive a data unit or packet, a second interface to transmit the packet, and a mapper to map between virtual ports and physical ports. The network device includes hash value generator configured to generate a hash value based on information included in the packet and based on at least one virtual port. The hash value may be optionally modified to load balance egress traffic of the network device. The network device selects a particular virtual port for egress of the packet, such as by determining an index into an egress table based on the (modified) hash value. The packet is transmitted from the network device using a physical port mapped to the particular virtual port.
    Type: Grant
    Filed: February 12, 2014
    Date of Patent: November 22, 2016
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Amir Roitshtein, Tal Mizrahi
  • Patent number: 9455967
    Abstract: Techniques to avoid polarization in a communication network include a network switch or device having a first interface to receive a data unit or packet, and a second interface via which the packet is transmitted from the network device. The network device includes a hash value generator configured to generate, using a depolarizer, a depolarized key from an initial key (where the initial key is based on contents of the packet and the depolarizer is unique to the network device), and to generate a hash value based on the depolarized key and the packet by using a hash function that is common to all network devices in the network. The hash value may be optionally modified to load balance egress traffic of the network device. The network device selects an egress link or port, such as by determining an index into an egress table based on the (modified) hash value.
    Type: Grant
    Filed: June 16, 2014
    Date of Patent: September 27, 2016
    Assignee: MARVELL ISRAEL (M.I.S.L) LTD.
    Inventors: Amir Roitshtein, Tal Mizrahi
  • Patent number: 9455966
    Abstract: A data unit is received at a network device associated with a link aggregate group. An initial key is determined based on information included in the data unit. Another key is generated based on a first field of the initial key and a second field of the initial key. A hash function is applied to the other key to generate a hash value. A communication link in the link aggregate group is determined based on the hash value, and the data unit is transmitted over the communication link.
    Type: Grant
    Filed: December 23, 2013
    Date of Patent: September 27, 2016
    Assignee: MARVELL ISRAEL (M.I.S.L) LTD.
    Inventors: Amir Roitshtein, Tal Mizrahi
  • Publication number: 20160182392
    Abstract: A plurality of packets are received by a packet processing device, and the packets are distributed among two or more packet processing node elements for processing of the packets. The packets are assigned to respective packet classes, each class corresponding to a group of packets for which an order in which the packets were received is to be preserved. The packets are queued in respective queues corresponding to the assigned packet classes and according to an order in which the packets were received by the packet processing device. The packet processing node elements issue respective instructions indicative of processing actions to be performed with respect to the packets, and indications of at least some of the processing actions are stored. A processing action with respect to a packet is performed when the packet has reached a head of a queue corresponding to the class associated with the packet.
    Type: Application
    Filed: February 29, 2016
    Publication date: June 23, 2016
    Inventors: Evgeny SHUMSKY, Gil LEVY, Adar PEERY, Amir ROITSHTEIN, Aron WOHLGEMUTH
  • Patent number: 9374303
    Abstract: Packets received via ports coupled to network links are processed to determine target ports to which the packets are to be forwarded. Appropriate control paths in a network device are selected for processing multicast packets from among a plurality of different control paths having respective processing latencies, the different control paths providing alternative processing paths for processing control information for multicast packets. Multicast packets are further processed using the selected control paths.
    Type: Grant
    Filed: October 14, 2014
    Date of Patent: June 21, 2016
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Sharon Ulman, Gil Levy, Rami Zemach, Amir Roitshtein, Shira Turgeman
  • Patent number: 9276868
    Abstract: A plurality of packets are received by a packet processing device, and the packets are distributed among two or more packet processing node elements for processing of the packets. The packets are assigned to respective packet classes, each class corresponding to a group of packets for which an order in which the packets were received is to be preserved. The packets are queued in respective queues corresponding to the assigned packet classes and according to an order in which the packets were received by the packet processing device. The packet processing node elements issue respective instructions indicative of processing actions to be performed with respect to the packets, and indications of at least some of the processing actions are stored. A processing action with respect to a packet is performed when the packet has reached a head of a queue corresponding to the class associated with the packet.
    Type: Grant
    Filed: December 17, 2013
    Date of Patent: March 1, 2016
    Assignee: MARVELL ISRAEL (M.I.S.L) LTD.
    Inventors: Evgeny Shumsky, Gil Levy, Adar Peery, Amir Roitshtein, Aron Wohlgemuth