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: 20170339259Abstract: 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: ApplicationFiled: May 17, 2017Publication date: November 23, 2017Inventors: Carmi ARAD, Ilan MAYER-WOLF, Rami ZEMACH, David MELMAN, Ilan YERUSHALMI, Tal MIZRAHI, Lior VALENCY
-
Publication number: 20170339075Abstract: 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: ApplicationFiled: May 18, 2017Publication date: November 23, 2017Inventor: Carmi ARAD
-
Publication number: 20170339062Abstract: 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: ApplicationFiled: May 18, 2017Publication date: November 23, 2017Inventors: Ilan MAYER-WOLF, Zvi Shmilovici LEIB, Carmi ARAD
-
Publication number: 20170339074Abstract: 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: ApplicationFiled: May 18, 2017Publication date: November 23, 2017Inventors: David MELMAN, Ilan MAYER-WOLF, Carmi ARAD, Rami ZEMACH
-
Patent number: 9819637Abstract: 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: GrantFiled: February 27, 2014Date of Patent: November 14, 2017Assignee: Marvell World Trade Ltd.Inventors: Amir Roitshtein, Gil Levy, Carmi Arad
-
Patent number: 9781018Abstract: 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: GrantFiled: May 5, 2014Date of Patent: October 3, 2017Assignee: Marvell World Trade Ltd.Inventors: Carmi Arad, Kurt Thomas Boden, Gil Levy, Jakob Carlstrom
-
Patent number: 9705807Abstract: 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: GrantFiled: March 4, 2015Date of Patent: July 11, 2017Assignee: Marvell Israel (M.I.S.L) Ltd.Inventors: Amir Roitshtein, Carmi Arad, Gil Levy, Rami Zemach
-
Patent number: 9686209Abstract: 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: GrantFiled: August 17, 2015Date of Patent: June 20, 2017Assignee: Marvell Israel (M.I.S.L) Ltd.Inventors: Carmi Arad, Aviran Kadosh
-
Patent number: 9672239Abstract: 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: GrantFiled: October 16, 2013Date of Patent: June 6, 2017Assignee: Marvell Israel (M.I.S.L.) Ltd.Inventors: Ori Rottenstreich, Aviran Kadosh, Carmi Arad, Yoram Revah
-
Patent number: 9658951Abstract: 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: GrantFiled: November 1, 2012Date of Patent: May 23, 2017Assignee: Marvell Israel (M.I.S.L) Ltd.Inventors: Evgeny Shumsky, Carmi Arad, Gil Levy, Ehud Sivan
-
Publication number: 20170085482Abstract: 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: ApplicationFiled: November 29, 2016Publication date: March 23, 2017Inventors: Carmi Arad, Gil Levy
-
Patent number: 9537771Abstract: 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: GrantFiled: August 28, 2013Date of Patent: January 3, 2017Assignee: Marvell Israel (M.I.S.L) Ltd.Inventors: Carmi Arad, Gil Levy
-
Patent number: 9507756Abstract: 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: GrantFiled: January 17, 2013Date of Patent: November 29, 2016Assignee: Marvell Israel (M.I.S.L) Ltd.Inventors: Carmi Arad, Gil Levy
-
Patent number: 9485326Abstract: 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: GrantFiled: April 1, 2014Date of Patent: November 1, 2016Assignee: Marvell Israel (M.I.S.L) Ltd.Inventors: Sharon Ulman, Roi Sherman, Dror Bromberg, Carmi Arad
-
Publication number: 20160261500Abstract: 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: ApplicationFiled: March 4, 2016Publication date: September 8, 2016Inventors: Yoram REVAH, David MELMAN, Tal MIZRAHI, Rami ZEMACH, Carmi ARAD
-
Patent number: 9306876Abstract: 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: GrantFiled: April 1, 2014Date of Patent: April 5, 2016Assignee: MARVELL ISRAEL (M.I.S.L) LTD.Inventors: Sharon Ulman, Roi Sherman, Dror Bromberg, Carmi Arad
-
Patent number: 9269439Abstract: 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: GrantFiled: August 14, 2013Date of Patent: February 23, 2016Assignee: Marvell Israel (M.I.S.L) Ltd.Inventors: Gil Levy, Carmi Arad
-
Patent number: 9237124Abstract: 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: GrantFiled: July 13, 2012Date of Patent: January 12, 2016Assignee: Marvell Israel (M.I.S.L) Ltd.Inventors: Carmi Arad, Tal Mizrahi
-
Patent number: 9197594Abstract: 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: GrantFiled: July 13, 2012Date of Patent: November 24, 2015Assignee: Marvell Israel (M.I.S.L) Ltd.Inventors: Carmi Arad, Tal Mizrahi
-
Patent number: 9171030Abstract: 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: GrantFiled: January 9, 2013Date of Patent: October 27, 2015Assignee: Marvell Israel (M.I.S.L.) Ltd.Inventors: Carmi Arad, Gil Levy