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: 20200153759
    Abstract: At least a payload of a packet that is received by a network device is stored in a packet memory. The packet is processed at least to determine at least one egress port via which the packet is to be transmitted, modify a header of the packet to generate a modified header, and determine, based at least in part on the modified header, whether the packet is to be transmitted or to be discarded by the network device. In response to determining that the packet is to be transmitted, the at least the payload of the packet is retrieved from the packet memory, a transmit packet is generated at least by combining the at least the payload of the packet with the modified header, and the transmit packet is transmitted via the determined at least one egress port of the network device.
    Type: Application
    Filed: January 17, 2020
    Publication date: May 14, 2020
    Inventors: David MELMAN, Ilan MAYER-WOLF, Carmi ARAD, Rami ZEMACH
  • Publication number: 20200136982
    Abstract: A packet processor of a network device determines an amount of free buffer space in a buffer memory currently available for buffering packets, and dynamically determines a value of a threshold for triggering a particular traffic management operation with respect to a packet, to dynamically adjust the value of the threshold based at least in part on a changing amount of free buffer space available for buffering packets in the buffer memory. The packet processor determines, based on a comparison between i) a current fill level of a particular transmit queue in which the packet is to be enqueued and ii) the dynamically adjusted value of the threshold, whether the particular traffic management operation is to be triggered with respect to the packet. When the particular traffic management operation is to be triggered, the packet processor performs the particular traffic management operation with respect to the packet.
    Type: Application
    Filed: December 23, 2019
    Publication date: April 30, 2020
    Inventors: Ilan MAYER-WOLF, Zvi Shmilovici LEIB, Carmi ARAD
  • Publication number: 20200106866
    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: November 25, 2019
    Publication date: April 2, 2020
    Inventors: Carmi ARAD, Ilan MAYER-WOLF, Rami ZEMACH, David MELMAN, Ilan YERUSHALMI, Tal MIZRAHI, Lior VALENCY
  • Patent number: 10587516
    Abstract: In a method for managing a network device a current hash value is determined for a current key to be inserted into a lookup table. The current hash value associated with a current set of memory locations in the lookup table, wherein the current set of memory locations includes a memory location corresponding to the current hash value and one or more other memory locations. In response to determining that each memory location in the current set of memory location is occupied, one or multiple previously stored keys in the lookup table are iteratively moved to other memory locations in the lookup table to free up a memory location in the current set of memory locations, the current key is inserted into the freed up memory location.
    Type: Grant
    Filed: July 15, 2015
    Date of Patent: March 10, 2020
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Carmi Arad, Gil Levy
  • Patent number: 10541947
    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: Grant
    Filed: May 18, 2017
    Date of Patent: January 21, 2020
    Assignee: Marvell Israel (M.I.S.L.) Ltd.
    Inventors: David Melman, Ilan Mayer-Wolf, Carmi Arad, Rami Zemach
  • Patent number: 10516620
    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: Grant
    Filed: May 18, 2017
    Date of Patent: December 24, 2019
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Ilan Mayer-Wolf, Zvi Shmilovici Leib, Carmi Arad
  • Patent number: 10491718
    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: Grant
    Filed: May 17, 2017
    Date of Patent: November 26, 2019
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Carmi Arad, Ilan Mayer-Wolf, Rami Zemach, David Melman, Ilan Yerushalmi, Tal Mizrahi, Lior Valency
  • Publication number: 20190268272
    Abstract: In a network device, a flow classification hardware engine is configured to: store flow state information regarding known flows of packets in a flow information table in association with respective assigned flow identifiers (IDs). The assigned flow IDs are from an ordered set of M flow IDs, where M is a positive integer. In response to detecting new flows of packets, the flow classification hardware engine: i) assigns respective flow IDs, from the ordered set of M flow IDs, to the new flows, and ii) creates respective entries in the flow information table for the new flows. An embedded processor periodically, as part of a background process: i) identifies an oldest assigned flow ID, from the ordered set of M flow IDs, and ii) makes storage space in the flow information table corresponding to the oldest assigned flow ID available for a new flow.
    Type: Application
    Filed: January 29, 2019
    Publication date: August 29, 2019
    Inventors: Tal MIZRAHI, Rami ZEMACH, Carmi ARAD, David MELMAN, Yosef KATAN
  • Patent number: 10333802
    Abstract: A meter module for use in a network device comprises conformance circuitry configured to: access a first memory device storing a conformance indicator that indicates whether a permitted rate of packet traffic has been exceeded, and classify packets received at the network device based at least in part on the conformance indicator. Sampling circuitry is configured to, responsively to the conformance circuitry classifying the packets: sample events associated with at least some of the received packets, and generate indicators of the sampled events. Update circuitry is configured to: access a second memory device, slower than the first memory, to update a number of tokens stored in the second memory device, and access the first memory device to update the conformance indicator when the updated number of tokens indicates that the permitted rate of packet traffic has been exceeded.
    Type: Grant
    Filed: October 2, 2017
    Date of Patent: June 25, 2019
    Assignee: Marvell World Trade Ltd.
    Inventors: Carmi Arad, Kurt Thomas Boden, Gil Levy, Jakob Carlstrom
  • Publication number: 20190158414
    Abstract: A network device processes received packets at least to determine port or ports of the network device via which to transmit the packet. The network device also classifies the packets into packet flows, the packet flows being further categorized into traffic pattern categories characteristic of traffic pattern characteristics of the packet flows. The network device buffers, according to the traffic pattern categories of the packet flows, packets that belong to the packet flows in a first packet memory or in a second packet memory, the first packet memory having a memory access bandwidth different from a memory access bandwidth of the second packet memory. After processing the packets, the network device retrieves the packets from the first packet memory or the second packet memory in which the packets are buffered, and forwards the packets to the determined one or more ports for transmission of the packets.
    Type: Application
    Filed: November 20, 2018
    Publication date: May 23, 2019
    Inventors: Gideon NAVON, Zvi SHMILOVICI LEIB, Carmi ARAD
  • Patent number: 10243857
    Abstract: A method for updating multipath groups of a network device is described. A first table defining a first multipath group of multiple egress interfaces is created. A change in network path availability at one or more egress interface members of the first multipath group is identified. The first multipath group includes at least some egress interfaces that remain available and that support at least some active packet sessions. A second table defining a second multipath group is created and coexists with the first multipath group. The second multipath group includes the remaining network paths that remain available. The first multipath group and the first table are selected for forwarding a packet from the active packet sessions. The second multipath group and the second table are selected for forwarding a packet from new packet sessions that are established after the change in the path availability.
    Type: Grant
    Filed: September 11, 2017
    Date of Patent: March 26, 2019
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Tal Mizrahi, Carmi Arad
  • Publication number: 20190058661
    Abstract: A network device determines, based on a size of a lookup value, that the lookup value is to be stored across a set of two or more memory banks including a first memory bank and a second memory bank of a database. A first hash function is for determining locations for storing lookup values entirely in the first memory bank, whereas a second hash function is for determining locations for storing lookup values entirely in the second memory bank. A hash operation is performed on the lookup value using the first hash function to determine a memory location for storing the lookup value. A first segment of the lookup value is stored in the first memory bank at the memory location determined using the first hash function, and a second segment of the lookup value is stored in the second memory bank at the memory location determined using the first hash function.
    Type: Application
    Filed: October 22, 2018
    Publication date: February 21, 2019
    Inventors: Gil LEVY, Carmi ARAD
  • Patent number: 10177997
    Abstract: A network device and a method for maintaining a count of network events in a network device are provided. A first memory is configured as a first counter, where the first counter is configured to store a least significant bit (LSb) portion of a count value. A second memory is configured as a second counter, where the second counter is configured to store a most significant bit (MSb) portion of the count value. Update circuitry is configured to (i) selectively increment or decrement the LSb portion of the count value stored in the first memory upon occurrence of an event, and (ii) selectively increment or decrement the MSb portion of the count value stored in the second memory upon occurrence of a wrap-around event in the first memory.
    Type: Grant
    Filed: November 5, 2015
    Date of Patent: January 8, 2019
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Dror Bromberg, Carmi Arad
  • Patent number: 10110492
    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: Grant
    Filed: April 11, 2014
    Date of Patent: October 23, 2018
    Assignee: Marvell Israel (M.I.S.L.) Ltd.
    Inventors: Gil Levy, Carmi Arad
  • Patent number: 9997245
    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: February 8, 2016
    Date of Patent: June 12, 2018
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Gil Levy, Carmi Arad
  • Patent number: 9967187
    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: Grant
    Filed: April 11, 2014
    Date of Patent: May 8, 2018
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Gil Levy, Carmi Arad
  • Publication number: 20180026860
    Abstract: A meter module for use in a network device comprises conformance circuitry configured to: access a first memory device storing a conformance indicator that indicates whether a permitted rate of packet traffic has been exceeded, and classify packets received at the network device based at least in part on the conformance indicator. Sampling circuitry is configured to, responsively to the conformance circuitry classifying the packets: sample events associated with at least some of the received packets, and generate indicators of the sampled events. Update circuitry is configured to: access a second memory device, slower than the first memory, to update a number of tokens stored in the second memory device, and access the first memory device to update the conformance indicator when the updated number of tokens indicates that the permitted rate of packet traffic has been exceeded.
    Type: Application
    Filed: October 2, 2017
    Publication date: January 25, 2018
    Inventors: Carmi ARAD, Kurt Thomas BODEN, Gil LEVY, Jakob CARLSTROM
  • Patent number: 9876719
    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: Grant
    Filed: March 4, 2016
    Date of Patent: January 23, 2018
    Assignee: Marvell World Trade Ltd.
    Inventors: Yoram Revah, David Melman, Tal Mizrahi, Rami Zemach, Carmi Arad
  • Patent number: 9871728
    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: Grant
    Filed: November 29, 2016
    Date of Patent: January 16, 2018
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Carmi Arad, Gil Levy
  • Patent number: 9870319
    Abstract: Data items to be stored in a queue are received, where the queue is distributed among a plurality of memory banks. The data items are distributed among the plurality of memory banks, including selecting memory banks in which to store the data items based on pseudorandom numbers generated for the data items, where the pseudorandom numbers are generated using a first pseudorandom number generator initialized with a first seed. Subsequently the data items are retrieved from the plurality of memory banks, including selecting memory banks from which to retrieve the data items based on the pseudorandom numbers regenerated for the data items, where the pseudorandom numbers are regenerated using a second pseudorandom number generator initialized with the first seed.
    Type: Grant
    Filed: April 4, 2016
    Date of Patent: January 16, 2018
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Sharon Ulman, Roi Sherman, Dror Bromberg, Carmi Arad