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: 9195622
    Abstract: It is determined whether more than one half of a plurality of data blocks are addressed to a same primary memory bank in a plurality of memory banks. If not more than one half of the data blocks in the plurality of data blocks are addressed to the same primary memory bank, the plurality of data blocks are written to appropriate ones of the primary memory banks in a single clock cycle. If more than one half of the data blocks are addressed to the same primary memory bank, (i) a subset of the data blocks addressed to the same primary memory bank are written to the same primary memory bank, and (ii) one or more remaining data blocks of the data blocks addressed to the same primary memory bank are written to an additional memory bank.
    Type: Grant
    Filed: July 11, 2013
    Date of Patent: November 24, 2015
    Assignee: MARVELL WORLD TRADE LTD.
    Inventor: Amir Roitshtein
  • Patent number: 9172659
    Abstract: Data packets are received at a source packet processor that is disposed in a modular switching device having a plurality of packet processors and a plurality of crossbar processors coupled to the plurality of packet processors. Each of at least some of the received data packets is divided into a plurality of data packet fragments. The data packet fragments are transmitted to the crossbar processors to distribute the data packet fragments among the crossbar processors. The data packet fragments are stored at respective crossbar processors. An instruction to retransmit first stored packet fragments corresponding to a first data packet that had been received at the source packet processor is selectively transmitted from the source packet processor to the crossbar processors. Based on the instruction received from the source packet processor, the first stored packet fragments is retransmitted to a target packet processor among the plurality of packet processors.
    Type: Grant
    Filed: July 6, 2012
    Date of Patent: October 27, 2015
    Assignee: Marvell Israel (M.I.S.L.) Ltd.
    Inventor: Amir Roitshtein
  • Publication number: 20150256466
    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: Application
    Filed: March 4, 2015
    Publication date: September 10, 2015
    Applicant: MARVELL ISRAEL (M.I.S.L) LTD.
    Inventors: Amir ROITSHTEIN, Carmi Arad, Gil Levy, Rami Zemach
  • Patent number: 9118576
    Abstract: In network device, a plurality of ports is configured to receive and to transmit packets on a network. A packet processing pipeline includes a plurality of hardware stages, wherein at least one hardware stage is configured to output a data structure comprising a field extracted from a received packet based on a first packet processing operation performed on the packet or the data structure, wherein the data structure is associated with the packet. A configurable processor is coupled to the at least one hardware stage of the packet processing pipeline. The configurable processor is configured to modify the field in the data structure to generate a modified data structure and to pass the modified data structure to a subsequent hardware stage that is configured to perform a second packet processing operation on the data structure using the field modified by the configurable processor.
    Type: Grant
    Filed: January 5, 2012
    Date of Patent: August 25, 2015
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventor: Amir Roitshtein
  • Patent number: 9112708
    Abstract: A network switch device comprises a packet processor configured to: write, to a memory, at least a payload of a multicast packet received via one of a plurality of ports, determine that a plurality of instances of the multicast packet are to be transmitted, generate, using an original header of the multicast packet, one or more additional headers, write, to the memory, a plurality of headers including (i) the original header, and (ii) the one or more additional headers in the memory, link each header in the plurality of headers stored in the memory to a location of the payload in the memory, and transmit a plurality of instances of the multicast packet via one or more ports including, for each instance of the multicast packet, reading (i) a respective one of the headers from the memory and (ii) the payload from the location in the memory.
    Type: Grant
    Filed: January 28, 2013
    Date of Patent: August 18, 2015
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Carmi Arad, Gil Levy, Lior Valency, Amir Roitshtein, Sharon Ulman, Dror Bromberg
  • Publication number: 20150172188
    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: Application
    Filed: December 17, 2014
    Publication date: June 18, 2015
    Inventors: Gil LEVY, Amir ROITSHTEIN, Rami ZEMACH
  • Publication number: 20150172187
    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: Application
    Filed: December 17, 2014
    Publication date: June 18, 2015
    Inventors: Gil LEVY, Amir ROITSHTEIN, Rami ZEMACH
  • Publication number: 20140325228
    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: Application
    Filed: June 16, 2014
    Publication date: October 30, 2014
    Inventors: Amir Roitshtein, Tal Mizrahi
  • Publication number: 20140244779
    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: Application
    Filed: February 27, 2014
    Publication date: August 28, 2014
    Applicant: MARVELL WORLD TRADE LTD.
    Inventors: Amir Roitshtein, Gil Levy, Carmi Arad
  • Publication number: 20140192815
    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: Application
    Filed: March 13, 2014
    Publication date: July 10, 2014
    Applicant: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Evgeny Shumsky, Gil Levy, Adar Peery, Amir Roitshtein
  • Publication number: 20140177470
    Abstract: A network device includes processor devices configured to perform packet processing functions, and a shared memory system including multiple memory blocks. A memory connectivity network couples the processor devices to the shared memory system. A configuration unit configures the memory connectivity network so that processor devices are provided access to respective sets of memory blocks.
    Type: Application
    Filed: December 20, 2013
    Publication date: June 26, 2014
    Applicant: MARVELL WORLD TRADE LTD.
    Inventors: Amir Roitshtein, Gil Levy, Gideon Paul
  • Publication number: 20140169378
    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: December 17, 2013
    Publication date: June 19, 2014
    Applicant: MARVELL ISRAEL (M.I.S.L) LTD.
    Inventors: Evgeny Shumsky, Gil Levy, Adar Peery, Amir Roitshtein, Aron Wohlgemuth
  • Patent number: 8756424
    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: November 29, 2011
    Date of Patent: June 17, 2014
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Amir Roitshtein, Tal Mizrahi
  • Publication number: 20140160934
    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: Application
    Filed: February 12, 2014
    Publication date: June 12, 2014
    Applicant: MARVELL ISRAEL (M.I.S.L) LTD.
    Inventors: Amir Roitshtein, Tal Mizrahi
  • Publication number: 20140115167
    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: Application
    Filed: December 23, 2013
    Publication date: April 24, 2014
    Applicant: MARVELL ISRAEL (M.I.S.L) LTD.
    Inventors: Amir Roitshtein, Tal Mizrahi
  • Patent number: 8660005
    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: November 29, 2011
    Date of Patent: February 25, 2014
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Amir Roitshtein, Tal Mizrahi
  • Patent number: 8614950
    Abstract: Techniques to load balance traffic in a communication network include a network switch or device having an interface to receive a data unit or packet. The network device includes a hash value generator configured to generate a symmetric key from an initial key that is based on the packet, and configured to generate a hash value based on the symmetric key and the packet. 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. The techniques described herein allow packets or data units of a particular flow to travel in both directions along a same path through the communication network.
    Type: Grant
    Filed: November 29, 2011
    Date of Patent: December 24, 2013
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Amir Roitshtein, Tal Mizrahi
  • Publication number: 20120177047
    Abstract: In network device, a plurality of ports is configured to receive and to transmit packets on a network. A packet processing pipeline includes a plurality of hardware stages, wherein at least one hardware stage is configured to output a data structure comprising a field extracted from a received packet based on a first packet processing operation performed on the packet or the data structure, wherein the data structure is associated with the packet. A configurable processor is coupled to the at least one hardware stage of the packet processing pipeline. The configurable processor is configured to modify the field in the data structure to generate a modified data structure and to pass the modified data structure to a subsequent hardware stage that is configured to perform a second packet processing operation on the data structure using the field modified by the configurable processor.
    Type: Application
    Filed: January 5, 2012
    Publication date: July 12, 2012
    Inventor: Amir Roitshtein
  • Publication number: 20120136999
    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: Application
    Filed: November 29, 2011
    Publication date: May 31, 2012
    Inventors: Amir Roitshtein, Tal Mizrahi
  • Publication number: 20120134266
    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: Application
    Filed: November 29, 2011
    Publication date: May 31, 2012
    Inventors: Amir Roitshtein, Tal Mizrahi