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: 9195622Abstract: 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: GrantFiled: July 11, 2013Date of Patent: November 24, 2015Assignee: MARVELL WORLD TRADE LTD.Inventor: Amir Roitshtein
-
Patent number: 9172659Abstract: 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: GrantFiled: July 6, 2012Date of Patent: October 27, 2015Assignee: Marvell Israel (M.I.S.L.) Ltd.Inventor: Amir Roitshtein
-
Publication number: 20150256466Abstract: 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: ApplicationFiled: March 4, 2015Publication date: September 10, 2015Applicant: MARVELL ISRAEL (M.I.S.L) LTD.Inventors: Amir ROITSHTEIN, Carmi Arad, Gil Levy, Rami Zemach
-
Patent number: 9118576Abstract: 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: GrantFiled: January 5, 2012Date of Patent: August 25, 2015Assignee: Marvell Israel (M.I.S.L) Ltd.Inventor: Amir Roitshtein
-
Patent number: 9112708Abstract: 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: GrantFiled: January 28, 2013Date of Patent: August 18, 2015Assignee: Marvell Israel (M.I.S.L) Ltd.Inventors: Carmi Arad, Gil Levy, Lior Valency, Amir Roitshtein, Sharon Ulman, Dror Bromberg
-
Publication number: 20150172188Abstract: 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: ApplicationFiled: December 17, 2014Publication date: June 18, 2015Inventors: Gil LEVY, Amir ROITSHTEIN, Rami ZEMACH
-
Publication number: 20150172187Abstract: 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: ApplicationFiled: December 17, 2014Publication date: June 18, 2015Inventors: Gil LEVY, Amir ROITSHTEIN, Rami ZEMACH
-
Publication number: 20140325228Abstract: 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: ApplicationFiled: June 16, 2014Publication date: October 30, 2014Inventors: Amir Roitshtein, Tal Mizrahi
-
Publication number: 20140244779Abstract: 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: ApplicationFiled: February 27, 2014Publication date: August 28, 2014Applicant: MARVELL WORLD TRADE LTD.Inventors: Amir Roitshtein, Gil Levy, Carmi Arad
-
Publication number: 20140192815Abstract: 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: ApplicationFiled: March 13, 2014Publication date: July 10, 2014Applicant: Marvell Israel (M.I.S.L) Ltd.Inventors: Evgeny Shumsky, Gil Levy, Adar Peery, Amir Roitshtein
-
Publication number: 20140177470Abstract: 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: ApplicationFiled: December 20, 2013Publication date: June 26, 2014Applicant: MARVELL WORLD TRADE LTD.Inventors: Amir Roitshtein, Gil Levy, Gideon Paul
-
Publication number: 20140169378Abstract: 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: ApplicationFiled: December 17, 2013Publication date: June 19, 2014Applicant: MARVELL ISRAEL (M.I.S.L) LTD.Inventors: Evgeny Shumsky, Gil Levy, Adar Peery, Amir Roitshtein, Aron Wohlgemuth
-
Patent number: 8756424Abstract: 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: GrantFiled: November 29, 2011Date of Patent: June 17, 2014Assignee: Marvell Israel (M.I.S.L) Ltd.Inventors: Amir Roitshtein, Tal Mizrahi
-
Publication number: 20140160934Abstract: 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: ApplicationFiled: February 12, 2014Publication date: June 12, 2014Applicant: MARVELL ISRAEL (M.I.S.L) LTD.Inventors: Amir Roitshtein, Tal Mizrahi
-
Publication number: 20140115167Abstract: 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: ApplicationFiled: December 23, 2013Publication date: April 24, 2014Applicant: MARVELL ISRAEL (M.I.S.L) LTD.Inventors: Amir Roitshtein, Tal Mizrahi
-
Patent number: 8660005Abstract: 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: GrantFiled: November 29, 2011Date of Patent: February 25, 2014Assignee: Marvell Israel (M.I.S.L) Ltd.Inventors: Amir Roitshtein, Tal Mizrahi
-
Patent number: 8614950Abstract: 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: GrantFiled: November 29, 2011Date of Patent: December 24, 2013Assignee: Marvell Israel (M.I.S.L) Ltd.Inventors: Amir Roitshtein, Tal Mizrahi
-
Publication number: 20120177047Abstract: 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: ApplicationFiled: January 5, 2012Publication date: July 12, 2012Inventor: Amir Roitshtein
-
Publication number: 20120136999Abstract: 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: ApplicationFiled: November 29, 2011Publication date: May 31, 2012Inventors: Amir Roitshtein, Tal Mizrahi
-
Publication number: 20120134266Abstract: 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: ApplicationFiled: November 29, 2011Publication date: May 31, 2012Inventors: Amir Roitshtein, Tal Mizrahi