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).

  • Publication number: 20170339259
    Abstract: A packet received by a network device via a network. A first portion of the packet is stored in a packet memory, the first portion including at least a payload of the packet. The packet is processed based on information from a header of the packet. After the packet is processed, a second portion of the packet is stored in the packet memory, the second portion including at least a portion of the header of the packet. When the packet is to be transmitted the first portion of the packet and the second portion of the packet are retrieved from the packet memory, and the first portion and the second portion are combined to generate a transmit packet.
    Type: Application
    Filed: May 17, 2017
    Publication date: November 23, 2017
    Inventors: Carmi ARAD, Ilan MAYER-WOLF, Rami ZEMACH, David MELMAN, Ilan YERUSHALMI, Tal MIZRAHI, Lior VALENCY
  • Publication number: 20170339075
    Abstract: A switching system includes a port extender device coupled to a central switching device. Packets processed by the central switching device are forwarded to the port extender device and enqueued in ones of a plurality of egress queues in the port extender device for transmission of the packets via the front ports of the port extender device. Respective egress queues in the port extender device have a queue depth that is less than a queue depth of corresponding respective egress queues in the central switching device. A flow control message indicative of congestion in a particular egress queue of the port extender device is generated and transmitted to the central switch device to control transmission of packets from the central switching device to the particular egress queue of the port extender device.
    Type: Application
    Filed: May 18, 2017
    Publication date: November 23, 2017
    Inventor: Carmi ARAD
  • Publication number: 20170339062
    Abstract: A network device receives a packet is received from a network, and determines at least one port, among a plurality of ports of the network device, via which the packet is to be transmitted. The network device also determines an amount of free buffer space in a buffer memory of the network device, and dynamically determines, based at least in part on the amount of free buffer space, respective thresholds for triggering ones of multiple traffic management operations to be performed based on the packet. Using the respective thresholds, the network device determines whether or not to trigger ones of the multiple traffic management operations with respect to the packet. The network device performs one or more of the traffic management operations with respect to the packet determined to be triggered based on the corresponding one of the respective thresholds.
    Type: Application
    Filed: May 18, 2017
    Publication date: November 23, 2017
    Inventors: Ilan MAYER-WOLF, Zvi Shmilovici LEIB, Carmi ARAD
  • Publication number: 20170339074
    Abstract: A packet is received at a network device. The packet is processed by the network device to determine at least one egress port via which to transmit the packet, and to perform egress classification of the packet based at least in part on information determined for the packet during processing of the packet. Egress classification includes determining whether the packet should not be transmitted by the network device. When it is not determined that the packet should not be transmitted by the network device, a copy of the packet is generated for mirroring of the packet to a destination other than the determined at least one egress port, and the packet is enqueued in an egress queue corresponding to the determined at least one egress port. The packet is subsequently transferred to the determined at least one egress port for transmission of the packet.
    Type: Application
    Filed: May 18, 2017
    Publication date: November 23, 2017
    Inventors: David MELMAN, Ilan MAYER-WOLF, Carmi ARAD, Rami ZEMACH
  • 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: 9781018
    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: Grant
    Filed: May 5, 2014
    Date of Patent: October 3, 2017
    Assignee: Marvell World Trade Ltd.
    Inventors: Carmi Arad, Kurt Thomas Boden, Gil Levy, Jakob Carlstrom
  • 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
  • Patent number: 9686209
    Abstract: In a network device, a plurality of first counters for measuring respective fill levels of respective queues are maintained, the queues using respective dedicated areas of a memory and a shared area of a memory. A single second counter for measuring a fill level of a shared area is maintained. When a packet is enqueued, the respective first counter corresponding to the queue is updated, and if any part of the packet is stored in the shared area, the single second counter is updated. When the packet is dequeued, the respective first counter is updated, and if any part of the packet was stored in the shared area, the single second counter is updated.
    Type: Grant
    Filed: August 17, 2015
    Date of Patent: June 20, 2017
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Carmi Arad, Aviran Kadosh
  • Patent number: 9672239
    Abstract: A TCAM database is partitioned into a plurality of sections. A set of rules to be stored in the TCAM database is analyzed to identify respective subsets of rules that match respective possible bit value combinations corresponding to a subset of bits in the rules, and to identify, in the subsets of rules, two or more subsets that share one or more rules. Then, it is determined whether two or more subsets that include shared rules can be written to a same section in the TCAM database, without exceeding a maximum number of rules that can be written to the same section, when one or more duplicates of one the the shared rules is omitted from the TCAM database. When it is determined that two or more subsets can be written to the same section, the two or more subsets are written to the same section in the TCAM database.
    Type: Grant
    Filed: October 16, 2013
    Date of Patent: June 6, 2017
    Assignee: Marvell Israel (M.I.S.L.) Ltd.
    Inventors: Ori Rottenstreich, Aviran Kadosh, Carmi Arad, Yoram Revah
  • Patent number: 9658951
    Abstract: In a method for storing packets in a network device, a processor and a plurality of memory banks for storing packet data during processing of packets by the processor are provided on an integrated circuit device. Each memory bank has a separate channel for transferring data. A plurality of buffers are defined such that each buffer in the plurality of buffers includes a respective memory space in more than one memory bank and less than all memory banks. A buffer of the plurality of buffers is allocated for storing a single packet or a portion of a single packet. The single packet or the portion of the single packet in the allocated buffer.
    Type: Grant
    Filed: November 1, 2012
    Date of Patent: May 23, 2017
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Evgeny Shumsky, Carmi Arad, Gil Levy, Ehud Sivan
  • Publication number: 20170085482
    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. An entry in a lookup table is selected using the first hash value and the second hash value, wherein the selected entry includes an offset for the lookup key. A forwarding entry in a forwarding table is selected using the third hash value and the offset for the lookup key, wherein the forwarding entry corresponds to the lookup key. The packet is forwarded to one or more ports of the network device using the selected forwarding entry.
    Type: Application
    Filed: November 29, 2016
    Publication date: March 23, 2017
    Inventors: Carmi Arad, Gil Levy
  • Patent number: 9537771
    Abstract: In a method for populating a forwarding table, a first hash function is applied to a lookup key to generate a first hash value, a second hash function is applied to the lookup key to generate a second hash value, and a third hash function is applied to the lookup key to generate a third hash value. An offset is determined based on the first hash value and the second hash value. A location for inserting the lookup key is determined based on the offset and the third hash value. It is determined whether the lookup key can be inserted into the forwarding table at the determined location without colliding with a key previously stored at the determined location. When it is determined that the lookup key can be inserted, the lookup key and forwarding information associated with the lookup key are inserted at the determined location.
    Type: Grant
    Filed: August 28, 2013
    Date of Patent: January 3, 2017
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Carmi Arad, Gil Levy
  • Patent number: 9507756
    Abstract: A network device includes a memory and a counter update logic module. The memory is configured to store a plurality of bits. The counter update logic module is configured to estimate a count of quanta within a plurality of data units in a data flow based on statistical sampling of the plurality of data units, and to store the estimated count of quanta in the memory as m mantissa bits and e exponent bits. Them mantissa bits represent a mantissa value M and the e exponent bits represent an exponent value E.
    Type: Grant
    Filed: January 17, 2013
    Date of Patent: November 29, 2016
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Carmi Arad, Gil Levy
  • Patent number: 9485326
    Abstract: A method includes receiving a plurality of requests, determining a plurality of first bank identifiers specifying respective physical memory banks, and selecting, based at least on the first bank identifiers, a first set of requests to be processed according to a scheduling hierarchy. Selecting the first set of requests includes prohibiting any two requests from being associated with a same first bank identifier. The method also includes processing, during a single processing cycle, ones of the first set of requests at respective nodes within a single level of the scheduling hierarchy. The method also includes, responsively at least to processing ones of the first set of requests at respective nodes within the single level of the scheduling hierarchy, selecting a queue, and, responsively at least to selecting the queue, causing one or more packets corresponding to a traffic class associated with the queue to be sent to an egress port.
    Type: Grant
    Filed: April 1, 2014
    Date of Patent: November 1, 2016
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Sharon Ulman, Roi Sherman, Dror Bromberg, Carmi Arad
  • Publication number: 20160261500
    Abstract: A forwarding engine in a network device selects one or more groups of multiple egress interfaces of the network device for forwarding packets received by the network device. An egress interface selector in the network device selects individual egress interfaces within the one or more groups selected by the forwarding engine. The egress interface selector includes a table associated with a first group of multiple egress interfaces, wherein elements in the table include values indicate individual egress interfaces in the first group. When the forwarding engine selects the first group, a table element selector of selects an element in the table to identify the individual egress interface for forwarding the packet.
    Type: Application
    Filed: March 4, 2016
    Publication date: September 8, 2016
    Inventors: Yoram REVAH, David MELMAN, Tal MIZRAHI, Rami ZEMACH, Carmi ARAD
  • Patent number: 9306876
    Abstract: In a method of managing queues in an egress queuing system in a network device, a plurality of packets to be stored in a first egress queue are received. The first egress queue is distributed among a plurality of memory banks. The packets are distributed among the plurality of memory banks. Memory banks in which to store the packets are selected based on pseudorandom numbers generated for the packets. The pseudorandom numbers are generated using a first pseudorandom number generator initialized with a first seed. Subsequently, the packets are retrieved from the plurality of memory banks. Memory banks from which to retrieve the packets are selected based on pseudorandom numbers regenerated for the packets. The pseudorandom numbers are regenerated using a second pseudorandom number generator initialized with the first seed.
    Type: Grant
    Filed: April 1, 2014
    Date of Patent: April 5, 2016
    Assignee: MARVELL ISRAEL (M.I.S.L) LTD.
    Inventors: Sharon Ulman, Roi Sherman, Dror Bromberg, Carmi Arad
  • Patent number: 9269439
    Abstract: Aspects of the disclosure provide an electronic device that includes an exact match engine, a ternary content addressable memory (TCAM) engine, a search key generator and an output module. The exact match engine is configured to store a first set of entries. The TCAM engine is configured to store a second set of entries including at least some entries that are different from entries of the first set of entries. The search key generator is configured to generate a search key and provide the search key to the exact match engine and to the TCAM engine. The output module is configured to select one of a first output from the exact match engine and a second output from the TCAM engine in response to a signal that indicates whether the search key exactly matches one of the first set of entries.
    Type: Grant
    Filed: August 14, 2013
    Date of Patent: February 23, 2016
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Gil Levy, Carmi Arad
  • Patent number: 9237124
    Abstract: A device in a server having a processor and a storage. The device has a protocol blind network path indication unit configured to obtain an indicator corresponding to a predetermined path to a data communication unit in the network using a destination address of a received data packet, an upstream communication unit configured to transmit a network protocol blind packet including the data packet and the indicator corresponding to the predetermined data path to the data communication unit in the network, a combiner configured to bind the indicator to the data packet received by the downstream communication unit, and a protocol blind correlation storage unit configured to provide information related to target addresses and indicators corresponding to a plurality of predetermined data paths in the network. The protocol blind network path indication unit obtains the indicator corresponding to a predetermined path by accessing the protocol blind correlation structure.
    Type: Grant
    Filed: July 13, 2012
    Date of Patent: January 12, 2016
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Carmi Arad, Tal Mizrahi
  • Patent number: 9197594
    Abstract: A device in a server having a processor and a storage. The device has a protocol blind network path indication unit configured to obtain an indicator corresponding to a predetermined path to a data communication unit in the network using a destination address of a received data packet, an upstream communication unit configured to transmit a network protocol blind packet including the data packet and the indicator corresponding to the predetermined data path to the data communication unit in the network, a combiner configured to bind the indicator to the data packet received by the downstream communication unit, and a protocol blind correlation storage unit configured to provide information related to target addresses and indicators corresponding to a plurality of predetermined data paths in the network. The protocol blind network path indication unit obtains the indicator corresponding to a predetermined path by accessing the protocol blind correlation structure.
    Type: Grant
    Filed: July 13, 2012
    Date of Patent: November 24, 2015
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Carmi Arad, Tal Mizrahi
  • Patent number: 9171030
    Abstract: In a method for populating a lookup table, a plurality of hash tables are provided. Each hash table is accessed by a respective hash function. A plurality of hashed values for a key are generated using the hash functions corresponding to the plurality of hash tables. The plurality of hashed values are used to determine whether the key can be inserted into one or more hash tables of the plurality of hash tables without colliding with keys previously stored at respective locations corresponding to the determined hashed values. When it is determined that the key can be inserted into multiple hash tables, it is then determined which one of the multiple hash tables is populated with the greatest number of keys. The hash table that is populated with the greatest number of keys is selected for insertion of the key, and the key is inserted into the selected hash table.
    Type: Grant
    Filed: January 9, 2013
    Date of Patent: October 27, 2015
    Assignee: Marvell Israel (M.I.S.L.) Ltd.
    Inventors: Carmi Arad, Gil Levy