Patents Assigned to Cavium Networks
  • Publication number: 20120027199
    Abstract: Systems and methods are disclosed for enabling access to a protected hardware resource. A hardware component includes at least one protected hardware resource. A unique hardware ID and a unique cryptographically secure or randomly generated enable value (EV) are integrated in the hardware component at the time of manufacturing. At run-time, special software generates or receives from an external source an enable register (ER) value and a comparison is made with the stored enable value. If the ER value and the EV match, access to the protected hardware resource is allowed.
    Type: Application
    Filed: August 1, 2010
    Publication date: February 2, 2012
    Applicant: CAVIUM NETWORKS
    Inventors: Amer Haider, Steven Craig Barner, Richard Eugene Kessler
  • Publication number: 20120011373
    Abstract: Disclosed are systems and methods for protecting secret device keys, such as High-bandwidth Digital Content Protection (HDCP) device keys. Instead of storing secret device keys in the plain, a security algorithm and one or more protection keys are stored on the device. The security algorithm is applied to the secret device keys and the one or more protection keys to produce encrypted secret device keys. The encrypted secret device keys are then stored either on chip or off-chip.
    Type: Application
    Filed: April 20, 2011
    Publication date: January 12, 2012
    Applicant: CAVIUM NETWORKS
    Inventors: Harri Hakkarainen, Amer Haider, Muhammad Hussain, Trent Parker
  • Publication number: 20110274156
    Abstract: Systems and methods for transmitting a multimedia stream are disclosed. A transmitter encodes audio data, video data, and control information received from a source and transmits over a network the different types of data to a receiver coupled to a display. The systems and methods utilize different network queues for the different types of traffic in order to account for differences in quality of service (QoS) parameters. The systems and methods adaptively adjust encoding and transmission parameters based on monitoring changing conditions of the network.
    Type: Application
    Filed: May 5, 2010
    Publication date: November 10, 2011
    Applicant: CAVIUM NETWORKS
    Inventors: Farhad Mighani, Alberto Duenas, Nguyen Nguyen, Gorka Garcia
  • Publication number: 20110276710
    Abstract: Systems and methods for transmitting a multimedia stream over a communication link on a network are disclosed. The systems and methods adaptively adjust encoding parameters based on monitoring changing conditions of the network. A transmitter includes an adaptive-rate encoder that adaptively adjusts a video encoding bit rate in response to changing conditions of the communication link. The encoder maintains tight rate control by utilizing slice processing and sub-frame rate adaptation, as well as maintaining a headroom between the channel bit rate and the video encoding bit rate. The adaptive-rate encoder also embeds intra-frame constraints in predictive frames traffic in order to reduce latency.
    Type: Application
    Filed: May 5, 2010
    Publication date: November 10, 2011
    Applicant: CAVIUM NETWORKS
    Inventors: Farhad Mighani, Alberto Duenas, Nguyen Nguyen, Gorka Garcia
  • 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
  • Patent number: 7076059
    Abstract: A method and apparatus to encipher a block of data using the data encryption standard comprising exclusive-oring, using an exclusive-or gate, the output from a merged permutation and expansion (MPE) and a sub key block, and sending the output from the exclusive-or gate to a selection function.
    Type: Grant
    Filed: January 17, 2002
    Date of Patent: July 11, 2006
    Assignee: Cavium Networks
    Inventor: Timothy W. Kiszely
  • Publication number: 20060095741
    Abstract: A method and apparatus for minimizing stalls in a pipelined processor is provided. Instructions in an out-of-order instruction scheduler are executed in order without stalling the pipeline by sending store data to external memory through an ordering queue.
    Type: Application
    Filed: November 30, 2004
    Publication date: May 4, 2006
    Applicant: Cavium Networks
    Inventors: David Asher, Richard Kessler, Yen Lee
  • Publication number: 20060056406
    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: Application
    Filed: December 6, 2004
    Publication date: March 16, 2006
    Applicant: Cavium Networks
    Inventors: Gregg Bouchard, Thomas Hummel, Richard Kessler, Muhammed Hussain, Yen Lee
  • Publication number: 20060059310
    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: Application
    Filed: December 17, 2004
    Publication date: March 16, 2006
    Applicant: Cavium Networks
    Inventors: David Asher, David Carlson, Richard Kessler
  • Publication number: 20060059314
    Abstract: A content aware application processing system is provided for allowing directed access to data stored in a non-cache memory thereby bypassing cache coherent memory. The processor includes a system interface to cache coherent memory and a low latency memory interface to a non-cache coherent memory. The system interface directs memory access for ordinary load/store instructions executed by the processor to the cache coherent memory. The low latency memory interface directs memory access for non-ordinary load/store instructions executed by the processor to the non-cache memory, thereby bypassing the cache coherent memory. The non-ordinary load/store instruction can be a coprocessor instruction. The memory can be a low-latency type memory. The processor can include a plurality of processor cores.
    Type: Application
    Filed: December 28, 2004
    Publication date: March 16, 2006
    Applicant: Cavium Networks
    Inventors: Gregg Bouchard, David Carlson, Richard Kessler, Muhammad Hussain
  • Publication number: 20060059221
    Abstract: A method and apparatus for increasing performance of a multiplication operation in a processor. The processor's instruction set includes multiply instructions that can be used to accelerate modular exponentiation. Prior to issuing a sequence of multiply instructions for the multiplication operation, a multiplier register in a multiply unit in the processor is loaded with the value of the multiplier. The multiply unit stores intermediate results of the multiplication operation in redundant format. The intermediate results are shifted and stored in the product register in the multiply unit so that carries between intermediate results are handled within the multiply unit.
    Type: Application
    Filed: January 27, 2005
    Publication date: March 16, 2006
    Applicant: Cavium Networks
    Inventor: David Carlson
  • Publication number: 20060059316
    Abstract: A network services processor includes an input/output bridge that avoids unnecessary updates to memory when cache blocks storing processed packet data are no longer required. The input/output bridge monitors requests to free buffers in memory received from cores and 10 units in the network services processor. Instead of writing the cache block back to the buffer in memory that will be freed, the input/output bridge issues don't write back commands to a cache controller to clear the dirty bit for the selected cache block, thus avoiding wasteful write-backs from cache to memory. After the dirty bit is cleared, the buffer in memory is freed, that is, made available for allocation to store data for another packet.
    Type: Application
    Filed: January 5, 2005
    Publication date: March 16, 2006
    Applicant: Cavium Networks
    Inventors: David Asher, Gregg Bouchard, Richard Kessler, Robert Sanzone
  • Publication number: 20060059286
    Abstract: In a multi-core processor, a high-speed interrupt-signal interconnect allows more than one of the processors to be interrupted at substantially the same time. For example, a global signal interconnect is coupled to each of the multiple processors, each processor being configured to selectively provide an interrupt signal, or pulse thereon. Preferably, each of the processor cores is capable of pulsing the global signal interconnect during every clock cycle to minimize delay between a triggering event and its respective interrupt signal. Each of the multiple processors also senses, or samples the global signal interconnect, preferably during the same cycle within which the pulse was provided, to determine the existence of an interrupt signal. Upon sensing an interrupt signal, each of the multiple processors responds to it substantially simultaneously. For example, an interrupt signal sampled by each of the multiple processors causes each processor to invoke a debug handler routine.
    Type: Application
    Filed: January 25, 2005
    Publication date: March 16, 2006
    Applicant: Cavium Networks
    Inventors: Michael Bertone, David Carlson, Richard Kessler, Philip Dickinson, Muhammad Hussain, Trent Parker
  • Patent number: 6954770
    Abstract: A random number generator comprising an oscillator with an output signal dependant upon a random source, a sampling device to sample the output signal from the oscillator to obtain a sampled oscillator output, and a fixed frequency clock driven linear feedback shift register (LFSR) communicatively coupled to the sampling device via a digital gate to receive the sampled oscillator output, and to provide a random number at an output of the LFSR. Additionally, the random number generator may comprise an optional mixing function communicatively coupled to the LFSR to read the random number, and to insert the random number into an algorithm to obtain a robust random number.
    Type: Grant
    Filed: August 23, 2001
    Date of Patent: October 11, 2005
    Assignee: Cavium Networks
    Inventors: David A. Carlson, Gregg A. Bouchard, Anand Varadharajan, Derek S. Brasili
  • Patent number: 6861865
    Abstract: An apparatus is described comprising: a set of logic blocks configured to perform designated data processing functions; a set of redundant logic blocks also configured to perform the designated data processing functions; and a logic block selector module to replace one or more of the set of logic blocks with one or more of the set of redundant logic blocks according to specified logic block replacement conditions.
    Type: Grant
    Filed: March 11, 2003
    Date of Patent: March 1, 2005
    Assignee: Cavium Networks
    Inventor: David A. Carlson
  • Patent number: 6789147
    Abstract: A method and apparatus for processing security operations are described. In one embodiment, a processor includes a number of execution units to process a number of requests for security operations. The number of execution units are to output the results of the number of requests to a number of output data structures associated with the number of requests within a remote memory based on pointers stored in the number of requests. The number of execution units can output the results in an order that is different from the order of the requests in a request queue. The processor also includes a request unit coupled to the number of execution units. The request unit is to retrieve a portion of the number of requests from the request queue within the remote memory and associated input data structures for the portion of the number of requests from the remote memory.
    Type: Grant
    Filed: December 19, 2001
    Date of Patent: September 7, 2004
    Assignee: Cavium Networks
    Inventors: Richard E. Kessler, David A. Carlson, Muhammad Raghib Hussain, Robert A. Sanzone, Khaja E. Ahmed, Michael D. Varga