Patents by Inventor Darren Kerr

Darren Kerr 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: 7895412
    Abstract: A programmable processing engine processes transient data within an intermediate network station of a computer network. The engine comprises an array of processing elements symmetrically arrayed as rows and columns, and embedded between input and output buffer units with a plurality of interfaces from the array to an external memory. The external memory stores non-transient data organized within data structures, such as forwarding and routing tables, for use in processing the transient data. Each processing element contains an instruction memory that allows programming of the array to process the transient data as processing element stages of baseline or extended pipelines operating in parallel.
    Type: Grant
    Filed: June 27, 2002
    Date of Patent: February 22, 2011
    Assignee: Cisco Tehnology, Inc.
    Inventors: Darren Kerr, Kenneth Michael Key, Michael L. Wright, William E. Jennings
  • Patent number: 7380101
    Abstract: A processor complex architecture facilitates accurate passing of transient data among processor complex stages of a pipelined processing engine. The processor complex comprises a central processing unit (CPU) coupled to an instruction memory and a pair of context data memory structures via a memory manager circuit. The context memories store transient “context” data for processing by the CPU in accordance with instructions stored in the instruction memory. The architecture further comprises data mover circuitry that cooperates with the context memories and memory manager to provide a technique for efficiently passing data among the stages in a manner that maintains data coherency in the processing engine. An aspect of the architecture is the ability of the CPU to operate on the transient data substantially simultaneously with the passing of that data by the data mover.
    Type: Grant
    Filed: December 27, 2004
    Date of Patent: May 27, 2008
    Assignee: Cisco Technology, Inc.
    Inventors: Michael L. Wright, Darren Kerr, Kenneth Michael Key, William E. Jennings
  • Patent number: 7292578
    Abstract: A VTMS queue scheduler integrates traffic shaping and link sharing functions within a single mechanism and that scales to an arbitrary number of queues of an intermediate station in a computer network. The scheduler assigns committed information bit rate and excess information bit rate values per queue, along with a shaped maximum bit rate per media link of the station. The integration of shaping and sharing functions decreases latency-induced inaccuracies by eliminating a queue and feedback mechanism between the sharing and shaping functions of conventional systems.
    Type: Grant
    Filed: June 19, 2001
    Date of Patent: November 6, 2007
    Assignee: Cisco Technology, Inc.
    Inventors: Darren Kerr, Van Jacobson
  • Patent number: 7290105
    Abstract: A technique efficiently accesses locks associated with resources in a computer system. A processor accesses (e.g., acquires or releases) a lock by specifying and issuing a request to a resource controller, the request containing attribute and resource location information associated with the lock. In response, the resource controller applies the information contained in the request to an outstanding lock data structure to determine if the request should be blocked, blocked as a pending writer, allowed or an error condition. If the request is blocked, it remains blocked until the outstanding lock blocking the request is released. If the request is allowed, operations associated with the request are performed.
    Type: Grant
    Filed: December 16, 2002
    Date of Patent: October 30, 2007
    Assignee: Cisco Technology, Inc.
    Inventors: Robert E. Jeter, Jr., Kenneth H. Potter, Darren Kerr, John W. Marshall, Manish Changela
  • Patent number: 7139899
    Abstract: An instruction decode mechanism enables an instruction to control data flow bypassing hardware within a pipelined processor of a programmable processing engine. The control mechanism is defined by an instruction set of the processor as a unique register decode value that specifies either source operand bypassing (via a source bypass operand) or result bypassing (via a result bypass operand) from a previous instruction executing in pipeline stages of the processor. The source bypass operand allows source operand data to be shared among the parallel execution units of the pipelined processor, whereas the result bypass operand explicitly controls data flow within a pipeline of the processor through the use of result bypassing hardware of the processor. The instruction decode control mechanism essentially allows an instruction to directly identify a pipeline stage register for use as its source operand.
    Type: Grant
    Filed: September 3, 1999
    Date of Patent: November 21, 2006
    Assignee: Cisco Technology, Inc.
    Inventors: Darren Kerr, John William Marshall
  • Patent number: 7100021
    Abstract: A mechanism synchronizes among processors of a processing engine in an intermediate network station. The processing engine is configured as a systolic array having a plurality of processors arrayed as rows and columns. The mechanism comprises a barrier synchronization mechanism that enables synchronization among processors of a column (i.e., different rows) of the systolic array. That is, the barrier synchronization function allows all participating processors within a column to reach a common point within their instruction code sequences before any of the processors proceed.
    Type: Grant
    Filed: October 16, 2001
    Date of Patent: August 29, 2006
    Assignee: Cisco Technology, Inc.
    Inventors: John William Marshall, Barry S. Burns, Darren Kerr
  • Patent number: 6986022
    Abstract: A mechanism synchronizes instruction code executing on a processor of a processing engine in an intermediate network station. The processing engine is configured as a systolic array having a plurality of processors arrayed as rows and columns. The mechanism comprises a boundary (temporal) synchronization mechanism for cycle-based synchronization within a processor of the array. The synchronization mechanism is generally implemented using specialized synchronization micro operation codes (“opcodes”).
    Type: Grant
    Filed: October 16, 2001
    Date of Patent: January 10, 2006
    Assignee: Cisco Technology, Inc.
    Inventors: John William Marshall, Barry S. Burns, Darren Kerr
  • Patent number: 6965615
    Abstract: A technique is provided for striping packets across pipelines of a processing engine within a network switch. The processing engine comprises a plurality of processors arrayed as pipeline rows and columns embedded between input and output buffers of the engine. Each pipeline row or cluster includes a context memory having a plurality of window buffers of a defined size. Each packet is apportioned into fixed-sized contexts corresponding to the defined window size associated with each buffer of the context memory. The technique includes a mapping mechanism for correlating each context with a relative position within the packet, i.e., the beginning, middle and end contexts of a packet. The mapping mechanism facilitates reassembly of the packet at the output buffer, while obviating any any out-of-order issues involving the particular contexts of a packet.
    Type: Grant
    Filed: September 18, 2000
    Date of Patent: November 15, 2005
    Assignee: Cisco Technology, Inc.
    Inventors: Darren Kerr, Jeffery Scott, John William Marshall, Scott Nellenbach
  • Patent number: 6920562
    Abstract: An encryption mechanism tightly-couples hardware data encryption functions with software-based protocol decode processing within a pipelined processor of a programmable processing engine. Tight-coupling is achieved by a micro-architecture of the pipelined processor that allows encryption functions to be accessed as a novel encryption execution unit of the processor. Such coupling substantially reduces the latency associated with conventional hardware/software interfaces.
    Type: Grant
    Filed: December 18, 1998
    Date of Patent: July 19, 2005
    Assignee: Cisco Technology, Inc.
    Inventors: Darren Kerr, John William Marshall
  • Publication number: 20050125643
    Abstract: A processor complex architecture facilitates accurate passing of transient data among processor complex stages of a pipelined processing engine. The processor complex comprises a central processing unit (CPU) coupled to an instruction memory and a pair of context data memory structures via a memory manager circuit. The context memories store transient “context” data for processing by the CPU in accordance with instructions stored in the instruction memory. The architecture further comprises data mover circuitry that cooperates with the context memories and memory manager to provide a technique for efficiently passing data among the stages in a manner that maintains data coherency in the processing engine. An aspect of the architecture is the ability of the CPU to operate on the transient data substantially simultaneously with the passing of that data by the data mover.
    Type: Application
    Filed: December 27, 2004
    Publication date: June 9, 2005
    Inventors: Michael Wright, Darren Kerr, Kenneth Key, William Jennings
  • Publication number: 20050027506
    Abstract: The invention provides a method and system for switching in networks responsive to message flow patterns. A message “flow” is defined to comprise a set of packets to be transmitted between a particular source and a particular destination. When routers in a network identify a new message flow, they determine the proper processing for packets in that message flow and cache that information for that message flow. Thereafter, when routers in a network identify a packet which is part of that message flow, they process that packet according to the proper processing for packets in that message flow. The proper processing may include a determination of a destination port for routing those packets and a determination of whether access control permits routing those packets to their indicated destination.
    Type: Application
    Filed: August 23, 2004
    Publication date: February 3, 2005
    Inventors: Darren Kerr, Barry Bruins
  • Patent number: 6836838
    Abstract: A processor complex architecture facilitates accurate passing of transient data among processor complex stages of a pipelined processing engine. The processor complex comprises a central processing unit (CPU) coupled to an instruction memory and a pair of context data memory structures via a memory manager circuit. The context memories store transient “context” data for processing by the CPU in accordance with instructions stored in the instruction memory. The architecture further comprises data mover circuitry that cooperates with the context memories and memory manager to provide a technique for efficiently passing data among the stages in a manner that maintains data coherency in the processing engine. An aspect of the architecture is the ability of the CPU to operate on the transient data substantially simultaneously with the passing of that data by the data mover.
    Type: Grant
    Filed: August 16, 2002
    Date of Patent: December 28, 2004
    Assignee: Cisco Technology, Inc.
    Inventors: Michael L. Wright, Darren Kerr, Kenneth Michael Key, William E. Jennings
  • Patent number: 6804815
    Abstract: A sequence control mechanism enables out-of-order processing of contexts by processors of a symmetric multiprocessor system having a plurality of processors arrayed as a processing engine. The processors of the engine are preferably arrayed as a plurality of rows or clusters embedded between input and output buffers, wherein each cluster of processors is configured to process contexts in a first in, first out (FIFO) synchronization order. However, the sequence control mechanism allows out-of-order context processing among the clusters of processors, while selectively enforcing FIFO synchronization ordering among those clusters on an as needed basis, i.e., for certain contexts. As a result, the control mechanism reduces undesired processing delays among those processors.
    Type: Grant
    Filed: September 18, 2000
    Date of Patent: October 12, 2004
    Assignee: Cisco Technology, Inc.
    Inventors: Darren Kerr, Jeffery B. Scott, John William Marshall, Kenneth H. Potter, Scott Nellenbach
  • Publication number: 20030159021
    Abstract: An instruction decode mechanism enables an instruction to control data flow bypassing hardware within a pipelined processor of a programmable processing engine. The control mechanism is defined by an instruction set of the processor as a unique register decode value that specifies either source operand bypassing (via a source bypass operand) or result bypassing (via a result bypass operand) from a previous instruction executing in pipeline stages of the processor. The source bypass operand allows source operand data to be shared among the parallel execution units of the pipelined processor, whereas the result bypass operand explicitly controls data flow within a pipeline of the processor through the use of result bypassing hardware of the processor. The instruction decode control mechanism essentially allows an instruction to directly identify a pipeline stage register for use as its source operand.
    Type: Application
    Filed: September 3, 1999
    Publication date: August 21, 2003
    Inventors: DARREN KERR, JOHN WILLIAM MARSHALL
  • Patent number: 6513108
    Abstract: A programmable processing engine processes transient data within an intermediate network station of a computer network. The engine comprises an array of processing elements symmetrically arrayed as rows and columns, and embedded between input and output buffer units with a plurality of interfaces from the array to an external memory. The external memory stores non-transient data organized within data structures, such as forwarding and routing tables, for use in processing the transient data. Each processing element contains an instruction memory that allows programming of the array to process the transient data as processing element stages of baseline or extended pipelines operating in parallel.
    Type: Grant
    Filed: June 29, 1998
    Date of Patent: January 28, 2003
    Assignee: Cisco Technology, Inc.
    Inventors: Darren Kerr, Kenneth Michael Key, Michael L. Wright, William E. Jennings
  • Patent number: 6442669
    Abstract: A processor complex architecture facilitates accurate passing of transient data among processor complex stages of a pipelined processing engine. The processor complex comprises a central processing unit (CPU) coupled to an instruction memory and a pair of context data memory structures via a memory manager circuit. The context memories store transient “context” data for processing by the CPU in accordance with instructions stored in the instruction memory. The architecture further comprises data mover circuitry that cooperates with the context memories and memory manager to provide a technique for efficiently passing data among the stages in a manner that maintains data coherency in the processing engine. An aspect of the architecture is the ability of the CPU to operate on the transient data substantially simultaneously with the passing of that data by the data mover.
    Type: Grant
    Filed: November 30, 2000
    Date of Patent: August 27, 2002
    Assignee: Cisco Technology, Inc.
    Inventors: Michael L. Wright, Darren Kerr, Kenneth Michael Key, William E. Jennings
  • Patent number: 6272621
    Abstract: A synchronization and control system for an arrayed processing engine of an intermediate network station comprises sequencing circuitry that controls the processing engine. The processing engine generally includes a plurality of processing element stages arrayed as parallel pipelines. The control system further includes an input header buffer (IHB) and an output header buffer (OHB), the latter comprising circuitry for receiving current transient data processed by the pipelines and for decoding control signals to determine a destination for the processed data. One destination is a feedback path that couples the OHB to the IHB and returns the processed data to the IHB for immediate loading into an available pipeline.
    Type: Grant
    Filed: August 18, 2000
    Date of Patent: August 7, 2001
    Assignee: Cisco Technology, Inc.
    Inventors: Kenneth Michael Key, Michael L. Wright, Darren Kerr, William E. Jennings
  • Publication number: 20010000046
    Abstract: A processor complex architecture facilitates accurate passing of transient data among processor complex stages of a pipelined processing engine. The processor complex comprises a central processing unit (CPU) coupled to an instruction memory and a pair of context data memory structures via a memory manager circuit. The context memories store transient “context” data for processing by the CPU in accordance with instructions stored in the instruction memory. The architecture further comprises data mover circuitry that cooperates with the context memories and memory manager to provide a technique for efficiently passing data among the stages in a manner that maintains data coherency in the processing engine. An aspect of the architecture is the ability of the CPU to operate on the transient data substantially simultaneously with the passing of that data by the data mover.
    Type: Application
    Filed: November 30, 2000
    Publication date: March 15, 2001
    Inventors: Michael L. Wright, Darren Kerr, Kenneth Michael Key, William E. Jennings
  • Patent number: 6195739
    Abstract: A processor complex architecture facilitates accurate passing of transient data among processor complex stages of a pipelined processing engine. The processor complex comprises a central processing unit (CPU) coupled to an instruction memory and a pair of context data memory structures via a memory manager circuit. The context memories store transient “context” data for processing by the CPU in accordance with instructions stored in the instruction memory. The architecture further comprises data mover circuitry that cooperates with the context memories and memory manager to provide a technique for efficiently passing data among the stages in a manner that maintains data coherency in the processing engine. An aspect of the architecture is the ability of the CPU to operate on the transient data substantially simultaneously with the passing of that data by the data mover.
    Type: Grant
    Filed: June 29, 1998
    Date of Patent: February 27, 2001
    Assignee: Cisco Technology, Inc.
    Inventors: Michael L. Wright, Darren Kerr, Kenneth Michael Key, William E. Jennings
  • Patent number: 6173386
    Abstract: A parallel processor is provided that includes integrated debugging capabilities. The processor includes a pipelined processing engine, having an array of processing element complex stages, and input and output header buffers. A debug system is provided that, when triggered, may put some or all of the processing element complexes into a debug mode of operation. When a complex is in debug mode, examination of internal stages of the component circuits of the complex may occur, in order to facilitate debugging of software and hardware errors that may occur during operation of the processor.
    Type: Grant
    Filed: December 14, 1998
    Date of Patent: January 9, 2001
    Assignee: Cisco Technology, Inc.
    Inventors: Kenneth Michael Key, Michael L. Wright, Darren Kerr, William E. Jennings, Scott Nellenbach