Patents Assigned to Cavium, Inc.
  • Patent number: 9871733
    Abstract: A policer system on one or more place and/or route blocks. The policer system including a plurality of local physical policers each stored in a plurality of physical memory banks and coupled with a plurality of global policers stored in one or more global banks separate from the physical banks. Thus, each bank of the global policers are able to represent a logical combination of a plurality of the physical banks of physical policers.
    Type: Grant
    Filed: April 1, 2015
    Date of Patent: January 16, 2018
    Assignee: Cavium, Inc.
    Inventors: Srinath Atluri, Weihuang Wang, Weinan Ma
  • Patent number: 9870173
    Abstract: An optimized design of n-write/1-read port memory comprises a memory unit including a plurality of memory banks each having one write port and one read port configured to write data to and read data from the memory banks, respectively. The memory further comprises a plurality of write interfaces configured to carry concurrent write requests to the memory unit for a write operation, wherein the first write request is always presented by its write interface directly to a crossbar, wherein the rest of the write requests are each fed through a set of temporary memory modules connected in a sequence before being presented to the crossbar. The crossbar is configured to accept the first write request directly and fetch the rest of the write requests from one of the memory modules in the set and route each of the write requests to one of the memory banks in the memory unit.
    Type: Grant
    Filed: February 19, 2016
    Date of Patent: January 16, 2018
    Assignee: CAVIUM, INC.
    Inventors: Saurin Patel, Weihuang Wang
  • Patent number: 9864584
    Abstract: A processing network including a plurality of lookup and decision engines (LDEs) each having one or more configuration registers and a plurality of on-chip routers forming a matrix for routing the data between the LDEs, wherein each of the on-chip routers is communicatively coupled with one or more of the LDEs. The processing network further including an LDE compiler stored on a memory and communicatively coupled with each of the LDEs, wherein the LDE compiler is configured to generate values based on input source code that when programmed into the configuration registers of the LDEs cause the LDEs to implement the functionality defined by the input source code.
    Type: Grant
    Filed: March 31, 2015
    Date of Patent: January 9, 2018
    Assignee: Cavium, Inc.
    Inventors: Ajeer Salil Pudiyapura, Kishore Badari Atreya, Ravindran Suresh
  • Patent number: 9866540
    Abstract: In one embodiment, a system includes a format block configured to receive a key, at least one rule, and rule formatting information. The rule can have one or more dimensions. The format block can be further configured to extract each of the dimensions from the at least one rule. The system can further include a plurality of dimension matching engines (DME). Each DME can be configured to receive the key and a corresponding formatted dimension, and process the key and the corresponding dimension for returning a match or nomatch. The system can further include a post processing block configured to analyze the matches or no matches returned from the DMEs and return a response based on the returned matches or nomatches.
    Type: Grant
    Filed: May 3, 2016
    Date of Patent: January 9, 2018
    Assignee: Cavium, Inc.
    Inventors: Gregg A. Bouchard, Rajan Goyal, Gregory E. Lund
  • Patent number: 9864582
    Abstract: A processing network including a plurality of lookup and decision engines (LDEs) each having one or more configuration registers and a plurality of on-chip routers forming a matrix for routing the data between the LDEs, wherein each of the on-chip routers is communicatively coupled with one or more of the LDEs. The processing network further including an LDE compiler stored on a memory and communicatively coupled with each of the LDEs, wherein the LDE compiler is configured to generate values based on input source code that when programmed into the configuration registers of the LDEs cause the LDEs to implement the functionality defined by the input source code.
    Type: Grant
    Filed: March 31, 2015
    Date of Patent: January 9, 2018
    Assignee: Cavium, Inc.
    Inventors: Kishore Badari Atreya, Ajeer Salil Pudiyapura, Ravindran Suresh
  • Patent number: 9866657
    Abstract: A system network switching with layer 2 switch communicatively coupled co-resident data-plane and network interface controllers embodying a method for, receiving a packet from a communication network at the layer 2 switch; parsing the packet; and determining in accordance with a content of the parsed packet whether the packet is to be switched to one of one or more medium access controllers, or one of one or more packet input processors, or one of one or more network interface controllers of a network interface resource comprising the one or more packet input processors, one or more packet output processors, the one or more network interface controllers, and the layer 2 switch, implemented on a chip are disclosed.
    Type: Grant
    Filed: December 19, 2014
    Date of Patent: January 9, 2018
    Assignee: Cavium, Inc.
    Inventor: Wilson Parkhurst Snyder, II
  • Patent number: 9864583
    Abstract: A processing network including a plurality of lookup and decision engines (LDEs) each having one or more configuration registers and a plurality of on-chip routers forming a matrix for routing the data between the LDEs, wherein each of the on-chip routers is communicatively coupled with one or more of the LDEs. The processing network further including an LDE compiler stored on a memory and communicatively coupled with each of the LDEs, wherein the LDE compiler is configured to generate values based on input source code that when programmed into the configuration registers of the LDEs cause the LDEs to implement the functionality defined by the input source code.
    Type: Grant
    Filed: March 31, 2015
    Date of Patent: January 9, 2018
    Assignee: Cavium, Inc.
    Inventors: Ajeer Salil Pudiyapura, Kishore Badari Atreya, Ravindran Suresh
  • Patent number: 9858051
    Abstract: A method and corresponding apparatus relate to converting a nondeterministic finite automata (NFA) graph for a given set of patterns to a deterministic finite automata (DFA) graph having a number of states. Each of the DFA states is mapped to one or more states of the NFA graph. A hash value of the one or more states of the NFA graph mapped to each DFA state is computed. A DFA states table correlates each of the number of DFA states to the hash value of the one or more states of the NFA graph for the given pattern.
    Type: Grant
    Filed: June 24, 2011
    Date of Patent: January 2, 2018
    Assignee: Cavium, Inc.
    Inventors: Rajan Goyal, Satyanarayana Lakshmipathi Billa, Ken Bullis
  • Patent number: 9858222
    Abstract: A circuit manages and controls access requests to a register, such as a control and status register (CSR) among a number of devices. In particular, the circuit selectively forwards or suspends off-chip access requests and forwards on-chip access requests independent of the status of off-chip requests. The circuit receives access requests at a plurality of buses, one or more of which can be dedicated to exclusively on-chip requests and/or exclusively off-chip requests. Based on the completion status of previous off-chip access requests, further off-chip access requests are selectively forwarded or suspended, while on-chip access request are sent independently of off-chip request status.
    Type: Grant
    Filed: November 13, 2014
    Date of Patent: January 2, 2018
    Assignee: Cavium, Inc.
    Inventors: Robert A. Sanzone, Wilson P. Snyder, II, Richard E. Kessler
  • Patent number: 9838471
    Abstract: A method and a system embodying the method for work request arbitration, comprising receiving a work request, the work request indicating one or more groups from a plurality of groups; determining at least one of a plurality of parameters in accordance with the received work request; determining eligibility to provide work among the one or more groups that have work in a work queue in accordance with a first set of the plurality of parameters; and selecting one of the determined eligible groups to provide the work in accordance with a second set of the plurality of parameters is disclosed.
    Type: Grant
    Filed: February 3, 2014
    Date of Patent: December 5, 2017
    Assignee: Cavium, Inc.
    Inventors: Wilson Parkhurst Snyder, II, Richard Eugene Kessler, Daniel Edward Dever, Nitin Dhiroobhai Godiwala, David Kravitz
  • Patent number: 9836283
    Abstract: A processing network including a plurality of lookup and decision engines (LDEs) each having one or more configuration registers and a plurality of on-chip routers forming a matrix for routing the data between the LDEs, wherein each of the on-chip routers is communicatively coupled with one or more of the LDEs. The processing network further including an LDE compiler stored on a memory and communicatively coupled with each of the LDEs, wherein the LDE compiler is configured to generate values based on input source code that when programmed into the configuration registers of the LDEs cause the LDEs to implement the functionality defined by the input source code.
    Type: Grant
    Filed: March 31, 2015
    Date of Patent: December 5, 2017
    Assignee: Cavium, Inc.
    Inventors: Ajeer Salil Pudiyapura, Kishore Badari Atreya, Ravindran Suresh
  • Patent number: 9825884
    Abstract: A software-defined network (SDN) system, device and method comprise one or more input ports, a programmable parser, a plurality of programmable lookup and decision engines (LDEs), programmable lookup memories, programmable counters, a programmable rewrite block and one or more output ports. The programmability of the parser, LDEs, lookup memories, counters and rewrite block enable a user to customize each microchip within the system to particular packet environments, data analysis needs, packet processing functions, and other functions as desired. Further, the same microchip is able to be reprogrammed for other purposes and/or optimizations dynamically.
    Type: Grant
    Filed: March 10, 2016
    Date of Patent: November 21, 2017
    Assignee: Cavium, Inc.
    Inventors: Guy Townsend Hutchison, Sachin Gandhi, Tsahi Daniel, Gerald Schmidt, Albert Fishman, Martin Leslie White, Zubin Shah
  • Patent number: 9823960
    Abstract: A cyclic redundancy check (CRC) device configured to support parallel calculation of a CRC value for a data frame comprises a plurality of CRC processing units each configured to accept one of a plurality of data segments of the data frame of a variable size that can be unknown to the CRC device beforehand and generate one of plurality of partial CRC values in parallel with rest of the CRC processing units over multiple clock cycles/iterations. The CRC device further comprises an integration component configured to integrate the plurality of partial CRC values from the plurality of CRC processing units into one final CRC value for the data frame, wherein the final CRC value is attached to the data frame for error checking during storage or transmission of the data frame.
    Type: Grant
    Filed: September 10, 2015
    Date of Patent: November 21, 2017
    Assignee: CAVIUM, INC.
    Inventor: Weihuang Wang
  • Patent number: 9824058
    Abstract: A group of low-level FIFOs may be logically bound together to form a super-FIFO. The super-FIFO may treat each low-level FIFO as a storage location. The super-FIFO may enable a push to (or a pop from) every low-level FIFO, simultaneously. The super-FIFO may enable a virtual channel (VC) to use the super-FIFO, bypassing a VC FIFO for the VC, removing several cycles of latency otherwise needed for enqueuing and dequeuing messages in the VC FIFO. In addition, the super-FIFO may enable bypassing of an arbiter, further reducing latency by avoiding a penalty of the arbiter.
    Type: Grant
    Filed: November 14, 2014
    Date of Patent: November 21, 2017
    Assignee: Cavium, Inc.
    Inventor: Steven C. Barner
  • Patent number: 9823868
    Abstract: A virtual system on chip (VSoC) is an implementation of a machine that allows for sharing of underlying physical machine resources between different virtual systems. A method or corresponding apparatus of the present invention relates to a device that includes a plurality of virtual systems on chip and a configuring unit. The configuring unit is arranged to configure resources on the device for the plurality of virtual systems on chip as a function of an identification tag assigned to each virtual system on chip.
    Type: Grant
    Filed: April 27, 2017
    Date of Patent: November 21, 2017
    Assignee: Cavium, Inc.
    Inventors: Muhammad Raghib Hussain, Rajan Goyal, Richard Kessler
  • Patent number: 9823895
    Abstract: Matching at least one regular expression pattern in an input stream may be optimized by initializing a search context in a run stack based on (i) partial match results determined from walking segments of a payload of a flow through a first finite automation and (ii) a historical search context associated with the flow. The search context may be modified via push or pop operations to direct at least one processor to walk segments of the payload through the at least one second finite automation. The search context may be maintained in a manner that obviates overflow of the search context and obviating stalling of the push or pop operations to increase match performance.
    Type: Grant
    Filed: April 14, 2014
    Date of Patent: November 21, 2017
    Assignee: Cavium, Inc.
    Inventors: Rajan Goyal, Satyanarayana Lakshmipathi Billa, Yossef Shanava, Timothy Toshio Nakada, Abhishek Dikshit
  • Patent number: 9825799
    Abstract: An aspect of present invention discloses a transceiver processing hardware (“TPH”) which is configured to process wireless information based on a constellation map. The TPH includes a minimum mean square error (“MMSE”), an inverse discrete Fourier transform (“IDFT”), and a demapper. The MMSE provides estimation of received bit stream, and the IDFT generates a list of samples associated with frequency of the bit stream. The demapper configured to discard unused constellation points includes a minimum function component (“MFC”) and a special treatment component (“STC”). While MFC is able to receive a bit stream representing a symbol corresponding to a quadrature amplitude modulation (“QAM”), the STC is configured to force one or more infinity values to facilitate generation of an LLR value representing a logic value of the symbol.
    Type: Grant
    Filed: April 3, 2015
    Date of Patent: November 21, 2017
    Assignee: CAVIUM, INC.
    Inventors: Sabih Guzelgoz, Hong Jik Kim
  • Publication number: 20170331664
    Abstract: Methods and apparatus for frequency offset estimation are disclosed. In an exemplary embodiment, a method includes determining a demodulation reference signal (DMRS) frequency offset estimate from DMRS symbols in a received signal, and determining a cyclic prefix (CP) frequency offset estimate from cyclic prefix values in the received signal. The method also includes combining the DMRS and CP frequency offset estimates to determine a final frequency offset estimate. In an exemplary embodiment, an apparatus includes a DMRS frequency offset estimator that determines a DMRS frequency offset estimate based on DMRS symbols received in an uplink transmission, and a cyclic prefix (CP) frequency offset estimator that determines a CP frequency offset estimate based on cyclic prefix values in the uplink transmission. The apparatus also includes an offset combiner that combines the DMRS frequency offset estimate with the CP frequency offset estimate to generate a final frequency offset estimate.
    Type: Application
    Filed: May 10, 2017
    Publication date: November 16, 2017
    Applicant: Cavium, Inc.
    Inventors: Hyun Soo Cheon, Hong Jik Kim, Tejas M. Bhatt
  • Publication number: 20170329731
    Abstract: Method and system embodying the method for a direct memory access between a data storage and a data processing device via one or more direct memory access units, comprising transferring data between the data storage and a first direct memory access engine of a respective one or more direct memory access units and providing the data for a second direct memory access engine of the respective one or more direct memory access units; and transferring the data provided by the first direct memory access engine by a second direct memory access engine to the data processing device via the second direct memory access engine is disclosed.
    Type: Application
    Filed: May 14, 2016
    Publication date: November 16, 2017
    Applicant: Cavium, Inc.
    Inventors: Jason Daniel Zebchuk, Gregg Alan Bouchard, Tejas Maheshbhai Bhatt, Hong Jik Kim, Ahmed Shahid
  • Patent number: 9817067
    Abstract: A testbench for testing a device under test (DUT), wherein the testbench has a verification environment including a reference model, a scoreboard and a customized agent for each interface that the DUT needs to receive input from and/or transmit output on. The testbench system is able to be generated by a testbench builder that automatically creates a scoreboard, a reference model, a dispatcher and generic agents including generic drivers, loopback ports, sequencers and/or generic monitors for each interface and then automatically customize the generic agents based on their corresponding interface such that the agents meet the requirements of the interface for the DUT.
    Type: Grant
    Filed: March 27, 2015
    Date of Patent: November 14, 2017
    Assignee: Cavium, Inc.
    Inventors: Saurin Patel, Nimalan Siva, Keqin Kenneth Han