Patents by Inventor Kurt Thomas Boden

Kurt Thomas Boden 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: 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: 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: 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: 9635145
    Abstract: A system including a receiver and a processing pipeline. The receiver is configured to generate a data block by encapsulating a data packet in a header portion and a tail portion that do not include valid information bits. The processing pipeline is configured to, in a first processing stage, store the data block, and store, separately from the data block, additional information associated with the data block. The processing pipeline is further configured to, without modifying a length of the data block, either add bits to the header portion or the tail portion to increase the length of the data packet or subtract bits from the data packet to decrease the length of the data packet, and modify the additional information in accordance with the bits added to the header portion or the tail portion or the bits subtracted from the data packet.
    Type: Grant
    Filed: May 12, 2014
    Date of Patent: April 25, 2017
    Assignee: Marvell International Ltd.
    Inventors: Gunnar Nordmark, Kurt Thomas Boden, Lars-Olof Svensson, Par Westlund
  • Patent number: 9525621
    Abstract: A packet processing device has a plurality of processing stages, including a first processing stage and a second processing stage arranged as a packet processing pipeline. The first processing stage and the second processing stage each have a respective processor configured to process a packet of a packet stream and a respective resource manager having a respective local resource lock corresponding to a remote resource. The respective processor requests the respective resource manager to allocate the remote resource. The respective resource manager responds to the request to allocate the remote resource by locking the remote resource with the respective local resource lock and allocating the remote resource. The respective processor implements a packet processing operation associated with the allocated remote resource.
    Type: Grant
    Filed: August 22, 2013
    Date of Patent: December 20, 2016
    Assignee: MARVELL WORLD TRADE LTD.
    Inventor: Kurt Thomas Boden
  • Patent number: 9525760
    Abstract: A network processing device comprising a plurality of programmable processors coupled together to perform a set of packet processing operations to process a packet received by the network processing device. Ones of the programmable processors being configured to perform a respective subset of the set of packet processing operations with a respective portion of a packet context such that respective programmable processors receives a portion of the packet context, that is less than a full packet context for performing the packet processing operations. The portion of a packet context being dimensioned to perform the respective subset of the packet processing operations.
    Type: Grant
    Filed: October 2, 2014
    Date of Patent: December 20, 2016
    Assignee: MARVELL INTERNATIONAL LTD.
    Inventors: Kurt Thomas Boden, Gunnar Nordmark, Mikael Karpberg
  • Patent number: 9294410
    Abstract: A network device that processes a stream of packets has an ingress front end. The ingress front end determines whether the packets are handled in a bounded latency path or in a best-effort path. The bounded latency path packets are granted a resource with a higher priority than the best-effort path packets. As the packets are processed through a number of processing stages, with processing engines, the bounded latency packets are processed within a period of time corresponding to a guaranteed rate. Resources are granted to the best-effort path packets only when the processing engines determine that the resource grant will not impact the latency bounds with respect to the first packets.
    Type: Grant
    Filed: May 10, 2013
    Date of Patent: March 22, 2016
    Assignee: MARVELL WORLD TRADE LTD.
    Inventor: Kurt Thomas Boden
  • Patent number: 9276857
    Abstract: A network processor includes an arbitration device, a processing device, and a pipeline. The arbitration device receives a first packet and a second packet. The second packet includes a first control message. The pipeline includes access devices, where the access devices include first and second access devices. The pipeline, based on a clock signal, forwards the first and second packets between successive ones of the access devices. The arbitration device: sets a timer based on at least one of (i) an amount of time for data to travel between the first and second access devices, or (ii) a number of pipeline stages between the first and second access devices; adjusts a variable based on (i) the clock signal, and (ii) transmission of the first packet from the arbitration device to the pipeline; and based on the timer and the variable, schedules transmission of the second packet through the pipeline.
    Type: Grant
    Filed: May 9, 2013
    Date of Patent: March 1, 2016
    Assignee: Marvell International Ltd.
    Inventors: Kurt Thomas Boden, Jakob Carlstrom
  • Patent number: 8995263
    Abstract: Systems and methods are provided for counting a number of received packets and a number of bytes contained in the received packets. A system includes a first memory disposed in an integrated circuit, the first memory being configured as a first combination counter having a first set of bits for storing a subtotal of received packets, and a second set of bits for storing a subtotal of bytes contained in the received packets. A second memory is external to the integrated circuit. The second memory is configured to store a total number of received packets and a total number of bytes contained in the received packets. Update circuitry is configured to update the total number of packets stored in the second whenever either of the first set of bits or the second set of bits overflows in the first memory.
    Type: Grant
    Filed: May 21, 2013
    Date of Patent: March 31, 2015
    Assignee: Marvell World Trade Ltd.
    Inventors: Kurt Thomas Boden, Par Westlund
  • 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: 20140247835
    Abstract: A system including a receiver and a processing pipeline. The receiver is configured to generate a data block by encapsulating a data packet in a header portion and a tail portion that do not include valid information bits. The processing pipeline is configured to, in a first processing stage, store the data block, and store, separately from the data block, additional information associated with the data block. The processing pipeline is further configured to, without modifying a length of the data block, either add bits to the header portion or the tail portion to increase the length of the data packet or subtract bits from the data packet to decrease the length of the data packet, and modify the additional information in accordance with the bits added to the header portion or the tail portion or the bits subtracted from the data packet.
    Type: Application
    Filed: May 12, 2014
    Publication date: September 4, 2014
    Applicant: Marvell International Ltd.
    Inventors: Gunnar Nordmark, Kurt Thomas Boden, Lars-Olof Svensson, Par Westlund
  • Publication number: 20140233582
    Abstract: A packet processing device has a plurality of processing stages, including a first processing stage and a second processing stage arranged as a packet processing pipeline. The first processing stage and the second processing stage each have a respective processor configured to process a packet of a packet stream and a respective resource manager having a respective local resource lock corresponding to a remote resource. The respective processor requests the respective resource manager to allocate the remote resource. The respective resource manager responds to the request to allocate the remote resource by locking the remote resource with the respective local resource lock and allocating the remote resource. The respective processor implements a packet processing operation associated with the allocated remote resource.
    Type: Application
    Filed: August 22, 2013
    Publication date: August 21, 2014
    Applicant: Marvell World Trade Ltd.
    Inventor: Kurt Thomas Boden
  • Publication number: 20140064271
    Abstract: A packet processing device has a plurality of processing stages, including a first processing stage and a second processing stage arranged as a packet processing pipeline. The first processing stage and the second processing stage each have a respective processor configured to process a packet of a packet stream and a respective resource manager having a respective local resource lock corresponding to a remote resource. The respective processor requests the respective resource manager to allocate the remote resource. The respective resource manager responds to the request to allocate the remote resource by locking the remote resource with the respective local resource lock and allocating the remote resource. The respective processor implements a packet processing operation associated with the allocated remote resource.
    Type: Application
    Filed: August 22, 2013
    Publication date: March 6, 2014
    Applicant: Marvell World Trade Ltd.
    Inventor: Kurt Thomas Boden
  • Publication number: 20130315259
    Abstract: Systems and methods are provided for counting a number of received packets and a number of bytes contained in the received packets. A system includes a first memory disposed in an integrated circuit, the first memory being configured as a first combination counter having a first set of bits for storing a subtotal of received packets, and a second set of bits for storing a subtotal of bytes contained in the received packets. A second memory is external to the integrated circuit. The second memory is configured to store a total number of received packets and a total number of bytes contained in the received packets. Update circuitry is configured to update the total number of packets stored in the second whenever either of the first set of bits or the second set of bits overflows in the first memory.
    Type: Application
    Filed: May 21, 2013
    Publication date: November 28, 2013
    Applicant: Marvell World Trade Ltd.
    Inventors: Kurt Thomas Boden, Par Westlund
  • Publication number: 20130301408
    Abstract: A network device that processes a stream of packets has an ingress front end. The ingress front end determines whether the packets are handled in a bounded latency path or in a best-effort path. The bounded latency path packets are granted a resource with a higher priority than the best-effort path packets. As the packets are processed through a number of processing stages, with processing engines, the bounded latency packets are processed within a period of time corresponding to a guaranteed rate. Resources are granted to the best-effort path packets only when the processing engines determine that the resource grant will not impact the latency bounds with respect to the first packets.
    Type: Application
    Filed: May 10, 2013
    Publication date: November 14, 2013
    Applicant: Marvell World Trade Ltd.
    Inventor: Kurt Thomas Boden
  • Publication number: 20130258845
    Abstract: A network processor includes an arbitration device, a processing device, and a pipeline. The arbitration device receives a first packet and a second packet. The second packet includes a first control message. The pipeline includes access devices, where the access devices include first and second access devices. The pipeline, based on a clock signal, forwards the first and second packets between successive ones of the access devices. The arbitration device: sets a timer based on at least one of (i) an amount of time for data to travel between the first and second access devices, or (ii) a number of pipeline stages between the first and second access devices; adjusts a variable based on (i) the clock signal, and (ii) transmission of the first packet from the arbitration device to the pipeline; and based on the timer and the variable, schedules transmission of the second packet through the pipeline.
    Type: Application
    Filed: May 9, 2013
    Publication date: October 3, 2013
    Applicant: Marvell International Ltd.
    Inventors: Kurt Thomas Boden, Jakob Carlstrom
  • Patent number: 8442056
    Abstract: The disclosed embodiments relate to a packet-processing system. This system includes an input which is configured to receive packets, wherein the packets include control-message (CM) packets and traffic packets. It also includes a pipeline to process the packets, wherein the pipeline includes access points for accessing an engine which services requests for packets, wherein CM packets and traffic packets access the engine through different access points. The system additionally includes an arbiter to schedule packets entering the pipeline. While scheduling the packets, the arbiter is configured to account for empty slots in the pipeline to ensure that when CM packets and traffic packets initiate accesses to the engine through different access points, the accesses do not cause an overflow at an input queue for the engine.
    Type: Grant
    Filed: June 28, 2011
    Date of Patent: May 14, 2013
    Assignee: Marvell International Ltd.
    Inventors: Kurt Thomas Boden, Jakob Carlstrom
  • Publication number: 20130003556
    Abstract: The disclosed embodiments relate to a packet-processing system. This system includes an input which is configured to receive packets, wherein the packets include control-message (CM) packets and traffic packets. It also includes a pipeline to process the packets, wherein the pipeline includes access points for accessing an engine which services requests for packets, wherein CM packets and traffic packets access the engine through different access points. The system additionally includes an arbiter to schedule packets entering the pipeline. While scheduling the packets, the arbiter is configured to account for empty slots in the pipeline to ensure that when CM packets and traffic packets initiate accesses to the engine through different access points, the accesses do not cause an overflow at an input queue for the engine.
    Type: Application
    Filed: June 28, 2011
    Publication date: January 3, 2013
    Applicant: XELERATED AB
    Inventors: Kurt Thomas Bodén, Jakob Carlström