Patents by Inventor Carmi Arad

Carmi Arad 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: 9166916
    Abstract: In a modular switching device that includes a plurality of packet processors interconnected by a plurality of connecting devices, one or more data packets are received at a first packet processor. The first packet processor generates a communication frame that includes at least a portion of a first data packet among the one or more data packets. The first packet processor divides the communication frame into a plurality of transmission units, includes a communication frame identifier in respective transmission units, and includes a respective position identifier in respective transmission units. The transmission units are transmitted to the plurality of connecting devices via a first plurality of uplinks, and the plurality of connecting devices transmits the transmission units to the second packet processor via a second plurality of uplinks. The communication frame is reassembled from the plurality of transmission units using the communication frame identifier and the position identifiers.
    Type: Grant
    Filed: October 7, 2013
    Date of Patent: October 20, 2015
    Assignees: Marvell International Ltd., Marvell Israel (M.I.S.L) Ltd.
    Inventors: Tal Mizrahi, Carmi Arad, Martin White, Tsahi Daniel, Yoram Revah, Ehud Sivan
  • Patent number: 9137030
    Abstract: First data units corresponding to a first multicast group (MCG) and second data units corresponding to a second MCG are stored in a first queue of a network switching device. At least one first data unit retrieved from the first queue and at least one second data unit retrieved from the first queue are aggregated into a first frame. The first frame is transmitted by the network switching device to a superset MCG that includes at least the first MCG and the second MCG. Only third data units corresponding to a third MCG are stored in a second queue of the network switching device. Third data units retrieved from the second queue are transmitted by the network switching device to the third MCG.
    Type: Grant
    Filed: October 7, 2013
    Date of Patent: September 15, 2015
    Assignees: Marvell International Ltd., Marvell Israel (M.I.S.L) Ltd.
    Inventors: Tal Mizrahi, Carmi Arad, Martin White, Tsahi Daniel
  • 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: 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
  • Patent number: 9112818
    Abstract: In a method for processing packets, a storage region for a packet is determined based on a queue with which the packet is associated. The storage region includes a committed area reserved for storage of packets associated with the queue, and an area that is shared by multiple queues for packet storage. A first part of the packet is stored in the committed area, a second part is stored in the shared area, and both parts are accounted for. A network device for processing packets comprises a plurality of queues and a storage area including a committed area and a shared area. The network device further comprises a packet queuing engine configured to store a first part of a packet in the committed area, store a second part of the packet in the shared area, and account for the storage of the first and the second parts of the packet.
    Type: Grant
    Filed: February 7, 2011
    Date of Patent: August 18, 2015
    Assignee: Marvell Isreal (M.I.S.L) Ltd.
    Inventors: Carmi Arad, Aviran Kadosh
  • Patent number: 9063841
    Abstract: In a method for storing packets in a network device, a memory space spanning a plurality of external memory devices is partitioned into a plurality of multi-buffers. Each multi-buffer spans multiple memory devices in the plurality of external memory devices. Each multi-buffer is partitioned into a plurality of buffer chunks and the plurality of buffer chunks are distributed among the multiple memory devices Further, a packet is divided into one or more packet chunks including at least a first packet chunk. The one or more packet chunks are stored in one or more consecutive buffer chunks of at least a first multi-buffer of the plurality of multi-buffers.
    Type: Grant
    Filed: July 31, 2012
    Date of Patent: June 23, 2015
    Assignee: MARVELL ISRAEL (M.L.S.L.) LTD.
    Inventors: Lior Valency, Gil Levy, Carmi Arad
  • Patent number: 9019970
    Abstract: A plurality of forwarding devices are configured to couple to respective pluralities of ports to ingress and egress network traffic. Ones of the plurality of forwarding devices are coupled to respective forwarding databases and each one forwarding device is configured to maintain the respective forwarding database, and send messages to and receive message from other ones of the plurality of forwarding devices to synchronize the plurality of forwarding databases.
    Type: Grant
    Filed: April 10, 2012
    Date of Patent: April 28, 2015
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Nir Arad, Carmi Arad, David Melman
  • Patent number: 8964542
    Abstract: Aspects of the disclosure provide a method for processing packet with a reduced hardware cost. The method for processing packet can include selecting a group of parameter ranges based on information contained within a packet, determining a search key based on the packet and whether a parameter of the packet is within one or more of the parameter ranges, determining a rule based on the search key corresponding to the packet and the group of parameter ranges, and executing an action that is associated with the rule on the packet. In addition, the disclosure provides an apparatus for processing packet. Further, the disclosure provides a packet switching device that can apply policy on a packet based on parameters of the packet and ranges among a group of ranges, within which a parameter of the packet belongs.
    Type: Grant
    Filed: December 18, 2013
    Date of Patent: February 24, 2015
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Denis Krivitski, Carmi Arad
  • Patent number: 8897315
    Abstract: A network switch device includes a plurality of ingress processors, each ingress processor has a packet memory to store packets received via a plurality of ingress ports. A plurality of egress processors are coupled to the plurality of ingress processors via a switch fabric. Each egress processor has a plurality of egress ports. Each ingress processor is configured to create descriptors for packets received via ingress ports, each descriptor having a smaller size than the corresponding packet, store the packets in the packet memory, process each descriptor to determine at least the appropriate egress processor among the egress processors to which to forward the descriptor, transmit, via the switch fabric, descriptors to egress processors, and, in response to receiving PULL messages from the egress processors, transmit packets to the egress processors via the switch fabric.
    Type: Grant
    Filed: January 7, 2013
    Date of Patent: November 25, 2014
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Carmi Arad, Tal Mizrahi
  • Publication number: 20140328196
    Abstract: A network device includes a plurality of interfaces configured to receive, from a network, packets to be processed by the network device. A load determination circuit of the network device is configured to determine whether a packet traffic load of the network device is above a traffic load threshold, and a dual-mode counter module is configured to (i) determine a count of quanta associated with the received packets using a first counting mode in response to the load determination unit determining that the packet traffic load is above the traffic load threshold, and (ii) determine a count of quanta associated with the received packets using a second counting mode, different than the first counting mode, in response to the load determination unit determining that the packet traffic load is not above the traffic load threshold.
    Type: Application
    Filed: May 5, 2014
    Publication date: November 6, 2014
    Applicant: MARVELL WORLD TRADE LTD.
    Inventors: Carmi Arad, Kurt Thomas Boden, Gil Levy, Jakob Carlstrom
  • Publication number: 20140310307
    Abstract: In a method for performing an exact match lookup in a network device, a network packet is received at the network device. A lookup key for the network packet is determined at least based on data included in a header of the received network packet. A hash function is selected, from among a plurality of possible hash functions, at least based on a size of the lookup key, and a hash operation is performed on the lookup key using the selected hash function to compute a hashed lookup key segment. A database is queried using the hashed lookup key segment to extract a value exactly corresponding to the lookup key.
    Type: Application
    Filed: April 11, 2014
    Publication date: October 16, 2014
    Applicant: MARVELL ISRAEL (M.I.S.L) LTD.
    Inventors: Gil Levy, Carmi Arad
  • Publication number: 20140307737
    Abstract: In a method for populating an exact match lookup table in a network device, a lookup key to be stored in a database of the network device is determined. The database is distributed among two or more memory banks. At least based on a size of the lookup key, (i) a first memory bank from among the two or more memory banks, and (ii) a hash function from among a plurality of possible hash functions, are selected. A hash operation is performed on the lookup key using the selected hash function to compute a first hashed lookup key segment. The first hashed lookup key segment is stored in the selected first memory bank, and one or more hashed lookup key segments corresponding to the lookup key are stored in one or more subsequent memory banks of the two or more memory banks.
    Type: Application
    Filed: April 11, 2014
    Publication date: October 16, 2014
    Applicant: MARVELL ISRAEL (M.I.S.L) LTD.
    Inventors: Gil Levy, Carmi Arad
  • Publication number: 20140301394
    Abstract: In a method for forwarding packets in a network device a plurality of hash values is generated based on a lookup key. The plurality of hash values includes at least a first hash value generated using a first hash function, a second hash value generated using a second hash function and a third hash value generated using a third hash function. The third hash function is different from the first hash function and the second hash function. A lookup table is searched using the first hash value and the second hash value to determine an offset for the lookup key. Then, a forwarding table is searched using the third hash value and the offset determined for the lookup key to select a forwarding entry corresponding to the lookup key. The packet is forwarded to one or more ports of the network device based on the selected forwarding entry.
    Type: Application
    Filed: August 28, 2013
    Publication date: October 9, 2014
    Applicant: MARVELL ISRAEL (M.I.S.L) LTD.
    Inventors: Carmi Arad, Gil Levy
  • 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
  • Patent number: 8782307
    Abstract: A first network device including a first port to provide first data traffic to a first storage area network, a second port to provide second data traffic to a local area network, and memory shared between the first port and the second port to temporarily store the first data traffic in N first buffers and the second data traffic in M second buffers. A queue control module allocates a first memory space of the N first buffers to the first port and a second memory space of the M second buffers to the second port. An adjustment module adjusts a first amount of the first memory space and a second amount of the second memory space in response to a congestion event caused by a first data traffic. Up to all of the first memory space and the second memory space is allocated to the N first buffers.
    Type: Grant
    Filed: November 12, 2012
    Date of Patent: July 15, 2014
    Assignee: Marvell International Ltd.
    Inventors: Martin White, Carmi Arad
  • Patent number: 8619562
    Abstract: Aspects of the disclosure provide a method for processing packet with a reduced hardware cost. The method for processing packet can include selecting a group of parameter ranges based on information contained within a packet, determining a search key based on the packet and whether a parameter of the packet is within one or more of the parameter ranges, determining a rule based on the search key corresponding to the packet and the group of parameter ranges, and executing an action that is associated with the rule on the packet. In addition, the disclosure provides an apparatus for processing packet. Further, the disclosure provides a packet switching device that can apply policy on a packet based on parameters of the packet and ranges among a group of ranges, within which a parameter of the packet belongs.
    Type: Grant
    Filed: April 25, 2008
    Date of Patent: December 31, 2013
    Assignee: Marvell Israel (M.I.S.L.) Ltd.
    Inventors: Denis Krivitski, Carmi Arad
  • Patent number: 8577854
    Abstract: A flow classifier for a network device that processes packets including packet headers includes a hash generator that generates hash index values from search keys derived from the packet headers. A hash table receives the hash index values and outputs pointers. A flow table includes flow keys and corresponding actions. A variable length (VL) trie data structure uses the pointers to locate the flow keys for the search keys. The VL trie data structure selects different flow keys for the search keys that share a common hash index value. The pointers include node, NIL and leaf pointers. The flow classifier performs a default action for the NIL pointers. A pointer calculator accesses a VL trie table using the pointers.
    Type: Grant
    Filed: June 24, 2002
    Date of Patent: November 5, 2013
    Assignee: Marvell Israel (M.I.S.L.) Ltd.
    Inventors: Yaniv Kopelman, Carmi Arad, Nafea Bishara
  • Patent number: 8565234
    Abstract: A method of configuring a plurality of aggregation queues for aggregating multicast network traffic includes configuring a first one of the plurality of aggregation queues to store at least data units associated with a first multicast group (MCG) and data units associated with a second MCG, and configuring a second one of the plurality of aggregation queues to store only those data units that are associated with a third MCG.
    Type: Grant
    Filed: January 7, 2010
    Date of Patent: October 22, 2013
    Assignees: Marvell Israel (M.I.S.L) Ltd., Marvell International Ltd.
    Inventors: Tal Mizrahi, Carmi Arad, Martin White, Tsahi Daniel
  • Patent number: 8553582
    Abstract: A method for processing network traffic in a modular switching device that includes a source device, a target device, and a plurality of connecting devices, includes generating a communication unit at the source device, where the communication unit is associated with a unique communication unit identifier, and where the communication unit is to be transmitted to the target device; dividing the communication unit into a plurality of transmission units, including assigning a respective position identifier to each of the plurality of transmission units, where the position identifier is indicative of a position of the transmission unit within the communication unit, and assigning the communication unit identifier to each of the plurality of transmission units; the method further comprising causing the plurality of transmission units to be transmitted in parallel to respective ones of the plurality of connecting devices, where each of the plurality of connecting devices connects the source device to the target dev
    Type: Grant
    Filed: January 7, 2010
    Date of Patent: October 8, 2013
    Assignees: Marvell Israel (M.I.S.L) Ltd., Marvell International Ltd.
    Inventors: Tal Mizrahi, Carmi Arad, Martin White, Tsahi Daniel, Yoram Revah, Ehud Sivan
  • Patent number: 8514651
    Abstract: In a memory device having a set of memory banks to store content data, at least two requests to perform respective memory operations in a first memory bank are received during a single clock cycle. One or more of the at least two requests is blocked from accessing the first memory bank, and in response: redundancy data associated with the first memory bank and different from content data stored therein is accessed, and, without accessing the first memory bank, at least a portion of the content data stored in the first memory bank is reconstructed based on the associated redundancy data. A first memory operation is performed using the content data stored in the first memory bank, and a second memory operation is performed using content data reconstructed i) without accessing the first memory bank and ii) based on the associated redundancy data.
    Type: Grant
    Filed: November 22, 2011
    Date of Patent: August 20, 2013
    Assignees: Marvell World Trade Ltd., Marvell Israel (M.I.S.L) Ltd.
    Inventors: Gil Levy, Nafea Bshara, Yaron Zimerman, Carmi Arad