Patents by Inventor Richard E. Kessler

Richard E. Kessler 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: 8473658
    Abstract: In one embodiment, a system comprises a memory, and a first bridge unit for processor access with the memory. The first bridge unit comprises a first arbitration unit that is coupled with an input-output bus, a memory free notification unit (“MFNU”), and the memory, and is configured to receive requests from the input-output bus and receive requests from the MFNU and choose among the requests to send to the memory on a first memory bus. The system further comprises a second bridge unit for packet data access with the memory that includes a second arbitration unit that is coupled with a packet input unit, a packet output unit, and the memory and is configured to receive requests from the packet input unit and receive requests from the packet output unit, and choose among the requests to send to the memory on a second memory bus.
    Type: Grant
    Filed: October 25, 2011
    Date of Patent: June 25, 2013
    Assignee: Cavium, Inc.
    Inventors: Robert A. Sanzone, David H. Asher, Richard E. Kessler
  • Publication number: 20130111073
    Abstract: A network processor includes a cache and a several groups of processors for accessing the cache. A memory interconnect provides for connecting the processors to the cache via a plurality of memory buses. A number of trace buffers are also connected to the bus and operate to store information regarding commands and data transmitted across the bus. The trace buffers share a common address space, thereby enabling access to the trace buffers as a single entity.
    Type: Application
    Filed: October 28, 2011
    Publication date: May 2, 2013
    Applicant: Cavium, Inc.
    Inventors: Bradley D. Dobbie, David H. Asher, Richard E. Kessler
  • Publication number: 20130107711
    Abstract: A network processor controls packet traffic in a network by maintaining a count of pending packets. In the network processor, a pipe identifier (ID) is assigned to each of a number of paths connecting a packet output to respective network interfaces receiving those packets. A corresponding pipe ID is attached to each packet as it is transmitted. A counter employs the pipe ID to maintain a count of packets to be transmitted by a network interface. As a result, the network processor manages traffic on a per-pipe ID basis to ensure that traffic thresholds are not exceeded.
    Type: Application
    Filed: October 27, 2011
    Publication date: May 2, 2013
    Applicant: Cavium, Inc.
    Inventors: Richard E. Kessler, Michael Sean Bertone
  • Publication number: 20130111141
    Abstract: A network processor includes multiple processor cores for processing packet data. In order to provide the processor cores with access to a memory subsystem, an interconnect circuit directs communications between the processor cores and the L2 Cache and other memory devices. The processor cores are divided into several groups, each group sharing an individual bus, and the L2 Cache is divided into a number of banks, each bank having access to a separate bus. The interconnect circuit processes requests to store and retrieve data from the processor cores across multiple buses, and processes responses to return data from the cache banks. As a result, the network processor provides high-bandwidth memory access for multiple processor cores.
    Type: Application
    Filed: October 31, 2011
    Publication date: May 2, 2013
    Applicant: Cavium, Inc.
    Inventors: Richard E. Kessler, David H. Asher, John M. Perveiler, Bradley D. Dobbie
  • Publication number: 20130103870
    Abstract: In one embodiment, a system comprises a memory, and a first bridge unit for processor access with the memory. The first bridge unit comprises a first arbitration unit that is coupled with an input-output bus, a memory free notification unit (“MFNU”), and the memory, and is configured to receive requests from the input-output bus and receive requests from the MFNU and choose among the requests to send to the memory on a first memory bus. The system further comprises a second bridge unit for packet data access with the memory that includes a second arbitration unit that is coupled with a packet input unit, a packet output unit, and the memory and is configured to receive requests from the packet input unit and receive requests from the packet output unit, and choose among the requests to send to the memory on a second memory bus.
    Type: Application
    Filed: October 25, 2011
    Publication date: April 25, 2013
    Applicant: Cavium, Inc.
    Inventors: Robert A. Sanzone, David H. Asher, Richard E. Kessler
  • Publication number: 20130103909
    Abstract: In one embodiment, a system comprises a memory and a memory controller that provides a cache access path to the memory and a bypass-cache access path to the memory, receives requests to read graph data from the memory on the bypass-cache access path and receives requests to read non-graph data from the memory on the cache access path. A method comprises receiving a request at a memory controller to read graph data from a memory on a bypass-cache access path, receiving a request at the memory controller to read non-graph data from the memory through a cache access path, and arbitrating, in the memory controller, among the requests using arbitration.
    Type: Application
    Filed: October 25, 2011
    Publication date: April 25, 2013
    Applicant: Cavium, Inc.
    Inventors: Jeffrey Pangborn, Gregg A. Bouchard, Rajan Goyal, Richard E. Kessler, Aseem Maheshwari
  • Publication number: 20130103904
    Abstract: In one embodiment, a system comprises multiple memory ports distributed into multiple subsets, each subset identified by a subset index and each memory port having an individual wait time. The system further comprises a first address hashing unit configured to receive a read request including a virtual memory address associated with a replication factor, and referring to graph data. The first address hashing unit translates the replication factor into a corresponding subset index based on the virtual memory address, and converts the virtual memory address to a hardware based memory address that refers to graph data in the memory ports within a subset indicated by the corresponding subset index. The system further comprises a memory replication controller configured to direct read requests to the hardware based address to the one of the memory ports within the subset indicated by the corresponding subset index with a lowest individual wait time.
    Type: Application
    Filed: October 25, 2011
    Publication date: April 25, 2013
    Applicant: Cavium, Inc.
    Inventors: Jeffrey Pangborn, Gregg A. Bouchard, Rajan Goyal, Richard E. Kessler
  • Publication number: 20130100812
    Abstract: In a network processor, a “port-kind” identifier (ID) is assigned to each port. Parsing circuitry employs the port-kind ID to select the configuration information associate with a received packet. The port kind ID can also be stored at a data structure presented to software, along with a larger port number (indicating an interface and/or channel). Based on the port kind ID and extracted information about the packet, a backpressure ID is calculated for the packet. The backpressure ID is implemented to assign a priority to the packet, as well as determine whether a traffic threshold is exceeded, thereby enabling a backpressure signal to limit packet traffic associated with the particular backpressure ID.
    Type: Application
    Filed: October 20, 2011
    Publication date: April 25, 2013
    Applicant: Cavium, Inc.
    Inventors: Wilson P. Snyder, II, Daniel A. Katz, Richard E. Kessler, Srikanth Gummalla
  • Publication number: 20130097608
    Abstract: Work submitted to a co-processor enters through one of multiple input queues, used to provide various quality of service levels. In-memory linked-lists store work to be performed by a network services processor in response to lack of processing resources in the network services processor. The work is moved back from the in-memory inked-lists to the network services processor in response to availability of processing resources in the network services processor.
    Type: Application
    Filed: October 17, 2011
    Publication date: April 18, 2013
    Applicant: Cavium, Inc.
    Inventors: Richard E. Kessler, Aseem Maheshwari, Robert Sanzone
  • Patent number: 8392590
    Abstract: A processor for traversing deterministic finite automata (DFA) graphs with incoming packet data in real-time. The processor includes at least one processor core and a DFA module operating asynchronous to the at least one processor core for traversing at least one DFA graph stored in a non-cache memory with packet data stored in a cache-coherent memory.
    Type: Grant
    Filed: September 7, 2005
    Date of Patent: March 5, 2013
    Assignee: Cavium, Inc.
    Inventors: Gregg A. Bouchard, David A. Carlson, Richard E. Kessler, Muhammad R. Hussain
  • Patent number: 8364851
    Abstract: A system that supports a high performance, scalable, and efficient I/O port protocol to connect to I/O devices is disclosed. A distributed multiprocessing computer system contains a number of processors each coupled to an I/O bridge ASIC implementing the I/O port protocol. One or more I/O devices are coupled to the I/O bridge ASIC, each I/O device capable of accessing machine resources in the computer system by transmitting and receiving message packets. Machine resources in the computer system include data blocks, registers and interrupt queues. Each processor in the computer system is coupled to a memory module capable of storing data blocks shared between the processors. Coherence of the shared data blocks in this shared memory system is maintained using a directory based coherence protocol. Coherence of data blocks transferred during I/O device read and write accesses is maintained using the same coherence protocol as for the memory system.
    Type: Grant
    Filed: October 2, 2003
    Date of Patent: January 29, 2013
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Richard E. Kessler, Samuel H. Duncan, David W. Hartwell, David A. J. Webb, Jr., Steve Lang
  • Patent number: 8356194
    Abstract: Embodiments of the present invention relate to limiting maximum power dissipation occurred in a processor. Therefore, when an application that requires excessive amounts of power is being executed, the execution of the application may be prevented to reduce dissipated or consumed power. Example embodiments may stall the issue or execution of instructions by the processor, allowing software or hardware to reduce the power of an application by imposing a decrease in the performance of the application.
    Type: Grant
    Filed: January 28, 2010
    Date of Patent: January 15, 2013
    Assignee: Cavium, Inc.
    Inventors: David A. Carlson, Richard E. Kessler, Amer Haider
  • Patent number: 8301788
    Abstract: A computer-readable instruction is described for traversing deterministic finite automata (DFA) graphs to perform a pattern search in the in-coming packet data in real-time. The instruction includes one or more pre-defined fields. One of the fields includes a DFA graph identifier for identifying one of several previously-stored DFA graphs. Another one of the fields includes an input reference for identifying input data to be processed using the identified DFA graphs. Yet another one of the fields includes an output reference for storing results generated responsive to the processed input data. The instructions are forwarded to a DFA engine adapted to process the input data using the identified DFA graph and to provide results as instructed by the output reference.
    Type: Grant
    Filed: September 7, 2005
    Date of Patent: October 30, 2012
    Assignee: Cavium, Inc.
    Inventors: Gregg A. Bouchard, David A. Carlson, Richard E. Kessler, Muhammad R. Hussain
  • Publication number: 20120185752
    Abstract: In one embodiment, a system includes a memory, and a memory controller coupled to the memory via an address bus, a data bus, and an error code bus. The memory stores data at an address and stores an error code at the address. The error code is generated based on a function of the corresponding data and address.
    Type: Application
    Filed: December 14, 2011
    Publication date: July 19, 2012
    Applicant: Cavium, Inc.
    Inventors: Aseem Maheshwari, Michael S. Bertone, Richard E. Kessler
  • Publication number: 20120155474
    Abstract: In one embodiment, a system includes a packet reception unit. The packet reception unit is configured to receive a packet, create a header indicating scheduling of the packet in a plurality of cores and concatenate the header and the packet. The header is based on the content of the packet. In one embodiment, a system includes a transmit silo configured to store a multiple fragments of a packet, the fragments having been sent to a destination and the transmit silo having not received an acknowledgement of receipt of the fragments from the destination. The system further includes a restriction verifier coupled with the transmit silo. The restriction verifier is configured to receive the fragments and determine whether the fragments can be sent and stored in the transmit silo.
    Type: Application
    Filed: December 14, 2011
    Publication date: June 21, 2012
    Applicant: Cavium, Inc.
    Inventors: Richard E. Kessler, Thomas F. Hummel, Robert A. Sanzone, Daniel A. Katz, Michael S. Bertone
  • Publication number: 20110185203
    Abstract: Embodiments of the present invention relate to limiting maximum power dissipation occurred in a processor. Therefore, when an application that requires excessive amounts of power is being executed, the execution of the application may be prevented to reduce dissipated or consumed power. Example embodiments may stall the issue or execution of instructions by the processor, allowing software or hardware to reduce the power of an application by imposing a decrease in the performance of the application.
    Type: Application
    Filed: January 28, 2010
    Publication date: July 28, 2011
    Applicant: Cavium Networks, Inc.
    Inventors: David A. Carlson, Richard E. Kessler, Amer Haider
  • Patent number: 7941585
    Abstract: A RISC-type processor includes a main register file and a data cache. The data cache can be partitioned to include a local memory, the size of which can be dynamically changed on a cache block basis while the processor is executing instructions that use the main register file. The local memory can emulate as an additional register file to the processor and can reside at a virtual address. The local memory can be further partitioned for prefetching data from a non-cacheable address to be stored/loaded into the main register file.
    Type: Grant
    Filed: December 17, 2004
    Date of Patent: May 10, 2011
    Assignee: Cavium Networks, Inc.
    Inventors: David H. Asher, David A. Carlson, Richard E. Kessler
  • Patent number: 7930349
    Abstract: A network application executing on a host system provides a list of application buffers in host memory stored in a queue to a network services processor coupled to the host system. The application buffers are used for storing data transferred on a socket established between the network application and a remote network application executing in a remote host system. Using the application buffers, data received by the network services processor over the network is transferred between the network services processor and the application buffers. After the transfer, a completion notification is written to one of the two control queues in the host system. The completion notification includes the size of the data transferred and an identifier associated with the socket. The identifier identifies a thread associated with the transferred data and the location of the data in the host system.
    Type: Grant
    Filed: October 6, 2009
    Date of Patent: April 19, 2011
    Assignee: Cavium Networks, Inc.
    Inventors: Muhammad R. Hussain, Richard E. Kessler, Faisal Masood, Robert A. Sanzone, Imran Badr
  • Patent number: 7895431
    Abstract: A method and apparatus for ordering, synchronizing and scheduling work in a multi-core network services processor is provided. Each piece of work is identified by a tag that indicates how the work is to be synchronized and ordered. Throughput is increased by processing work having different tags in parallel on different processor cores. Packet processing can be broken up into different phases, each phase having a different tag dependent on ordering and synchronization constraints for the phase. A tag switch operation initiated by a core switches a tag dependent on the phase. A dedicated tag switch bus minimizes latency for the tag switch operation.
    Type: Grant
    Filed: December 6, 2004
    Date of Patent: February 22, 2011
    Assignee: Cavium Networks, Inc.
    Inventors: Gregg A. Bouchard, Thomas F. Hummel, Richard E. Kessler, Muhammed R. Hussain, Yen Lee
  • Patent number: 7814310
    Abstract: A method and apparatus for optimizing IPsec processing by providing execution units with windowing data during prefetch and managing coherency of security association data by management of security association accesses. Providing execution units with windowing data allows initial parallel processing of IPsec packets. The security association access ordering apparatus serializes access to the dynamic section of security association data according to packet order arrival while otherwise allowing parallel processing of the IPsec packet by multiple execution units in a security processor.
    Type: Grant
    Filed: April 12, 2003
    Date of Patent: October 12, 2010
    Assignee: Cavium Networks
    Inventors: Gregg A. Bouchard, Richard E. Kessler, Muhammad R. Hussain