Patents by Inventor Ron Lamar Swartzentruber

Ron Lamar Swartzentruber 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: 10341246
    Abstract: A method of performing an update packet sequence number packet ready command (drop packet mode operation) is described herein. A first packet ready command is received from a memory system via a bus and onto a first network interface circuit. The first packet ready command includes a multicast value. A first communication mode is determined as a function of the multicast value. The multicast value indicates a single packet was communicated by a second network interface circuit. A packet sequence number stored in a memory unit is updated. The memory unit is included in the first network interface circuit. The first network interface circuit does not free the first packet from the memory system. The network interface circuits and the memory system are included on an Island-Based Network Flow Processor. The bus is a Command/Push/Pull (CPP) bus.
    Type: Grant
    Filed: November 2, 2014
    Date of Patent: July 2, 2019
    Assignee: Netronome Systems, Inc.
    Inventor: Ron Lamar Swartzentruber
  • Patent number: 9755983
    Abstract: An apparatus and method for providing minipacket flow control. A device includes a traffic manager interface (TMI) circuit that receives a minipacket, communicates the minipacket to a physical layer circuit, and communicates a minipacket flow control signal to a scheduler circuit that controls if another minipacket is to be sent to the TMI circuit. In one example, upon receiving a minipacket the TMI circuit updates a current credit value, compares the current credit value with a credit limit value, and outputs a minipacket flow control signal that is a function of the comparison. In another example, upon receiving a minipacket the TMI circuit updates a current credit value, compares the current credit value with a credit limit value, reads and compares a credit pool value with a credit pool limit value, and outputs a minipacket flow control signal that is a function of both of the comparisons.
    Type: Grant
    Filed: October 22, 2014
    Date of Patent: September 5, 2017
    Assignee: Netronome Systems, Inc.
    Inventor: Ron Lamar Swartzentruber
  • Patent number: 9727512
    Abstract: A method of performing an identical packet multicast packet ready command (common packet multicast mode operation) is described herein. A packet ready command is received from a first memory system via a bus and onto a network interface circuit. The packet ready command includes a multicast value. A communication mode is determined as a function of the multicast value. The multicast value indicates a single packet is to be communicated by the network interface circuit to a first number of destinations. A free packet command is output from the network interface circuit onto the bus. The free packet command includes a Free On Last Transfer (FOLT) value that indicates that the packet will not be freed from the first memory system by the network interface circuit once the packet is transmitted. The network interface circuit and the memory system are included on an Island-Based Network Flow Processor.
    Type: Grant
    Filed: November 2, 2014
    Date of Patent: August 8, 2017
    Assignee: Netronome Systems, Inc.
    Inventor: Ron Lamar Swartzentruber
  • Patent number: 9727513
    Abstract: A method of performing an unicast packet ready command (unicast mode operation) is described herein. A packet ready command is received from a memory system via a bus and onto a network interface circuit. The packet ready command includes a multicast value. A communication mode is determined as a function of the multicast value. The multicast value indicates a single packet is to be communicated to a single destination by the network interface circuit. A free packet command is outputted from the network interface circuit onto the bus. The free packet command includes a Free On Last Transfer (FOLT) value that indicates that the packet is to be freed from the memory system by the network interface circuit after the packet is communicated to the network interface circuit. The network interface circuit and the memory system are included on an Island-Based Network Flow Processor.
    Type: Grant
    Filed: November 2, 2014
    Date of Patent: August 8, 2017
    Assignee: Netronome Systems, Inc.
    Inventor: Ron Lamar Swartzentruber
  • Patent number: 9705811
    Abstract: A method for receiving a packet descriptor associated with a packet and a queue number indicating a queue stored within a memory unit, determining a priority level of the packet and an amount of free memory available in the memory unit. Applying a global drop probability to generate a global drop indicator and applying a queue drop probability to generate a queue drop indicator. The global drop probability is a function of the amount of free memory. The queue drop probability is a function of instantaneous queue depth or drop precedence value. The packet is transmitted whenever the priority level is high. When the priority level is low, the packet is transmitted when both the global drop indicator and the queue drop indicator are a logic low value. When the priority level is low, the packet is not transmitted when either drop indicator is a logic low value.
    Type: Grant
    Filed: October 6, 2014
    Date of Patent: July 11, 2017
    Assignee: Netronome Systems, Inc.
    Inventor: Ron Lamar Swartzentruber
  • Patent number: 9641466
    Abstract: A method for receiving a packet descriptor including a priority indicator and a queue number indicating a queue stored within a first memory unit, storing a packet associated with the packet descriptor in a second memory, determining a first amount of free memory in the first memory unit, determining if the first amount of free memory is above a threshold value, writing the packet from the second memory to a third memory when the first amount of memory is above the threshold value and the priority indicator is equal to a first value, not writing the packet from the second memory unit to the third memory unit if the first amount of memory is below the threshold value or when the priority indicator is equal to a second value. The priority indicator is equal to a first value for high priority packets and a second value for low priority packets.
    Type: Grant
    Filed: October 6, 2014
    Date of Patent: May 2, 2017
    Assignee: Netronome Systems, Inc.
    Inventor: Ron Lamar Swartzentruber
  • Patent number: 9590926
    Abstract: An apparatus and method for receiving a packet descriptor and a queue number that indicates a queue stored within a memory unit, determining a first amount of free memory in a group of packet descriptor queues, determining if the first amount of free memory is within a first range, applying a first drop probability to determine if the packet associated with the packet descriptor should be dropped when the first amount of free memory is within the first range, and applying a second drop probability to determine if the packet should be dropped when the first amount of free memory is within a second range. When it is determined that the packet is to be dropped, the packet descriptor is not stored in the queue. When it is determined that the packet is not to be dropped, the packet descriptor is stored in the queue.
    Type: Grant
    Filed: October 6, 2014
    Date of Patent: March 7, 2017
    Assignee: Netronome Systems, Inc.
    Inventor: Ron Lamar Swartzentruber
  • Patent number: 9588928
    Abstract: A method of performing an unique packet multicast packet ready command (unique packet multicast mode operation) is described herein. A packet ready command is received from a memory system via a bus and onto a network interface circuit. The packet ready command includes a multicast value. A communication mode is determined as a function of the multicast value. The multicast value indicates a plurality of packets are to be communicated to a plurality of destinations by the network interface circuit, and each of the plurality of packets are unique. A free packet command is output from the network interface circuit onto the bus. The free packet command includes a Free On Last Transfer (FOLT) value that indicates that the packets are to be freed from the memory system by the network interface circuit after the packets are communicated to the network interface circuit.
    Type: Grant
    Filed: November 2, 2014
    Date of Patent: March 7, 2017
    Assignee: Netronome Systems, Inc.
    Inventor: Ron Lamar Swartzentruber
  • Patent number: 9584637
    Abstract: Circuitry to provide in-order packet delivery. A packet descriptor including a sequence number is received. It is determined in which of three ranges the sequence number resides. Depending, at least in part, on the range in which the sequence number resides it is determined if the packet descriptor is to be communicated to a scheduler which causes an associated packet to be transmitted. If the sequence number resides in a first “flush” range, all associated packet descriptors are output. If the sequence number resides in a second “send” range, only the received packet descriptor is output. If the sequence number resides in a third “store and reorder” range and the sequence number is the next in-order sequence number the packet descriptor is output; if the sequence number is not the next in-order sequence number the packet descriptor is stored in a buffer and a corresponding valid bit is set.
    Type: Grant
    Filed: February 19, 2014
    Date of Patent: February 28, 2017
    Assignee: Netronome Systems, Inc.
    Inventors: Ron Lamar Swartzentruber, Steven W. Zagorianakos, Gavin J. Stark
  • Patent number: 9485195
    Abstract: A circuit that receives queue number that indicates a queue stored within a memory unit and a packet descriptor that includes a drop precedence value, and in response determines an instantaneous queue depth of the queue. The instantaneous queue depth and drop precedence value are used to determine a drop probability. The drop probability is used to randomly determine if the packet descriptor should be stored in the queue. When a packet descriptor is not stored in a queue the packet associated with the packet descriptor is dropped. The queue has a first queue depth range. A first drop probability is used when the queue depth is within the first queue depth range and the drop precedence is equal to the first value. A second drop probability is used when the queue depth is within the first queue depth range and the drop precedence equal to a second value.
    Type: Grant
    Filed: October 6, 2014
    Date of Patent: November 1, 2016
    Assignee: Netronome Systems, Inc.
    Inventors: Ron Lamar Swartzentruber, Johann H. Tönsing
  • Patent number: 9319333
    Abstract: A device that receives a packet descriptor and a queue number that indicates a queue stored within a memory unit, and in response determines an instantaneous queue depth of the queue. The instantaneous queue depth is used to determine a drop probability. The drop probability is used to randomly determine if the packet descriptor should be stored in the queue. The queue has a first queue depth range and a second queue depth range that do not overlap. A first drop probability is associated with the first queue depth range and a second drop probability is associated with the second queue depth range. The first drop probability is used when the queue depth is within the first queue depth range. The second drop probability is used with the queue depth is within the second queue depth range. The device includes a random value generator and a drop indicator generator.
    Type: Grant
    Filed: March 12, 2014
    Date of Patent: April 19, 2016
    Assignee: Netronome Systems, Inc.
    Inventor: Ron Lamar Swartzentruber
  • Publication number: 20160099878
    Abstract: A circuit that receives queue number that indicates a queue stored within a memory unit and a packet descriptor that includes a drop precedence value, and in response determines an instantaneous queue depth of the queue. The instantaneous queue depth and drop precedence value are used to determine a drop probability. The drop probability is used to randomly determine if the packet descriptor should be stored in the queue. When a packet descriptor is not stored in a queue the packet associated with the packet descriptor is dropped. The queue has a first queue depth range. A first drop probability is used when the queue depth is within the first queue depth range and the drop precedence is equal to the first value. A second drop probability is used when the queue depth is within the first queue depth range and the drop precedence equal to a second value.
    Type: Application
    Filed: October 6, 2014
    Publication date: April 7, 2016
    Inventors: Ron Lamar Swartzentruber, Johann H. Tönsing
  • Publication number: 20160099881
    Abstract: A method for receiving a packet descriptor including a priority indicator and a queue number indicating a queue stored within a first memory unit, storing a packet associated with the packet descriptor in a second memory, determining a first amount of free memory in the first memory unit, determining if the first amount of free memory is above a threshold value, writing the packet from the second memory to a third memory when the first amount of memory is above the threshold value and the priority indicator is equal to a first value, not writing the packet from the second memory unit to the third memory unit if the first amount of memory is below the threshold value or when the priority indicator is equal to a second value. The priority indicator is equal to a first value for high priority packets and a second value for low priority packets.
    Type: Application
    Filed: October 6, 2014
    Publication date: April 7, 2016
    Inventor: Ron Lamar Swartzentruber
  • Publication number: 20160099880
    Abstract: An apparatus and method for receiving a packet descriptor and a queue number that indicates a queue stored within a memory unit, determining a first amount of free memory in a group of packet descriptor queues, determining if the first amount of free memory is within a first range, applying a first drop probability to determine if the packet associated with the packet descriptor should be dropped when the first amount of free memory is within the first range, and applying a second drop probability to determine if the packet should be dropped when the first amount of free memory is within a second range. When it is determined that the packet is to be dropped, the packet descriptor is not stored in the queue. When it is determined that the packet is not to be dropped, the packet descriptor is stored in the queue.
    Type: Application
    Filed: October 6, 2014
    Publication date: April 7, 2016
    Inventor: Ron Lamar Swartzentruber
  • Publication number: 20160099882
    Abstract: A method for receiving a packet descriptor associated with a packet and a queue number indicating a queue stored within a memory unit, determining a priority level of the packet and an amount of free memory available in the memory unit. Applying a global drop probability to generate a global drop indicator and applying a queue drop probability to generate a queue drop indicator. The global drop probability is a function of the amount of free memory. The queue drop probability is a function of instantaneous queue depth or drop precedence value. The packet is transmitted whenever the priority level is high. When the priority level is low, the packet is transmitted when both the global drop indicator and the queue drop indicator are a logic low value. When the priority level is low, the packet is not transmitted when either drop indicator is a logic low value.
    Type: Application
    Filed: October 6, 2014
    Publication date: April 7, 2016
    Inventor: Ron Lamar Swartzentruber
  • Publication number: 20150263967
    Abstract: A device that receives a packet descriptor and a queue number that indicates a queue stored within a memory unit, and in response determines an instantaneous queue depth of the queue. The instantaneous queue depth is used to determine a drop probability. The drop probability is used to randomly determine if the packet descriptor should be stored in the queue. The queue has a first queue depth range and a second queue depth range that do not overlap. A first drop probability is associated with the first queue depth range and a second drop probability is associated with the second queue depth range. The first drop probability is used when the queue depth is within the first queue depth range. The second drop probability is used with the queue depth is within the second queue depth range. The device includes a random value generator and a drop indicator generator.
    Type: Application
    Filed: March 12, 2014
    Publication date: September 17, 2015
    Applicant: Netronome Systems, Inc.
    Inventor: Ron Lamar Swartzentruber
  • Publication number: 20150237180
    Abstract: Circuitry to provide in-order packet delivery. A packet descriptor including a sequence number is received. It is determined in which of three ranges the sequence number resides. Depending, at least in part, on the range in which the sequence number resides it is determined if the packet descriptor is to be communicated to a scheduler which causes an associated packet to be transmitted. If the sequence number resides in a first “flush” range, all associated packet descriptors are output. If the sequence number resides in a second “send” range, only the received packet descriptor is output. If the sequence number resides in a third “store and reorder” range and the sequence number is the next in-order sequence number the packet descriptor is output; if the sequence number is not the next in-order sequence number the packet descriptor is stored in a buffer and a corresponding valid bit is set.
    Type: Application
    Filed: February 19, 2014
    Publication date: August 20, 2015
    Applicant: Netronome Systems, Inc.
    Inventors: Ron Lamar Swartzentruber, Steven W. Zagorianakos, Gavin J. Stark