Patents Assigned to CAVIUM
  • Publication number: 20190334685
    Abstract: Methods and apparatus for dynamic acknowledgement list selection in detection of uplink control channel formats. In an exemplary embodiment, an apparatus includes a dynamic acknowledgement (ACK) list allocation circuit that generates a dynamic ACK list that includes one or two most likely ACK candidates, and a top-Q candidate CQI bits detector that dynamically allocates a detection branch to each of the one or two most likely ACK candidates to detect top-Q candidate CQI bits. The apparatus also includes a merger circuit that mergers the top-Q candidate CQI bits detected for the one or two most likely ACK candidates to generate a merged list, a top-Q CQI symbol generator that generates top-Q CQI symbols for the top-Q candidate CQI bits detected for the one or two most likely ACK candidates, and a joint detector that detects transmitted CQI bits and ACK bits.
    Type: Application
    Filed: October 1, 2018
    Publication date: October 31, 2019
    Applicant: Cavium, LLC
    Inventor: Yuanbin Guo
  • Patent number: 10459770
    Abstract: A method and a system for port access management at a distributed job manager, encompassing: initializing a port access process for each of one or more ports on a processing device; determining first whether a job is assigned to an active slot identified by an active_slot_id on the processing device, and when the determining is positive: determining second whether the job has been serviced by a port identified by the active_slot_id; and when either the first determining is negative or the second determining is positive then: retesting the first and second determining; else: determining whether the job requires an access to the port identified by the active_slot_id; and when the determining is positive: fetching the port's configuration words; processing the fetched port's configuration words; marking the job as serviced by the port upon conclusion or the processing of the fetched port's configuration words; and recalculating the value of the active_slot_id.
    Type: Grant
    Filed: May 5, 2017
    Date of Patent: October 29, 2019
    Assignee: Cavium, LLC
    Inventors: Kalyana Sundaram Venkataraman, Tejas Maheshbhai Bhatt, Hong Jik Kim, Eric Marenger, Ahmed Shahid, Jason Daniel Zebchuk
  • Patent number: 10461917
    Abstract: A circuit and method enables multiple serializer/deserializer (SerDes) data lanes of a physical layer device (PHY) to operate across a broad range of diversified data rates that are independent from lane to lane. The multiple SerDes data lanes may operate at data rates independent from one another. A single low frequency clock is input to the PHY. A frequency of the single low frequency clock is increased via a common integer-N phase-locked loop (PLL) on the PHY to produce a higher frequency clock. Each of the SerDes data lanes is operated, independently, as a fractional-N PLL that employs the higher frequency clock. Use of the common integer-N PLL enables modulation noise of the fractional-N PLLs to be suppressed by moving the modulation noise to higher frequencies where a level of the modulation noise is filtered, avoiding use of high risk noise cancellation techniques.
    Type: Grant
    Filed: March 13, 2019
    Date of Patent: October 29, 2019
    Assignee: Cavium, LLC
    Inventor: Scott E. Meninger
  • Patent number: 10460250
    Abstract: A root node of a decision tree data structure may cover all values of a search space used for packet classification. The search space may include a plurality of rules, the plurality of rules having at least one field. The decision tree data structure may include a plurality of nodes, the plurality of nodes including a subset of the plurality of rules. Scope in the decision tree data structure may be based on comparing a portion of the search space covered by a node to a portion of the search space covered by the node's rules. Scope in the decision tree data structure may be used to identify whether or not a compilation operation may be unproductive. By identifying an unproductive compilation operation it may be avoided, thereby improving compiler efficiency as the unproductive compilation operation may be time-consuming.
    Type: Grant
    Filed: October 26, 2015
    Date of Patent: October 29, 2019
    Assignee: Cavium, LLC
    Inventors: Rajan Goyal, Kenneth A. Bullis
  • Patent number: 10448377
    Abstract: Methods and apparatus for channel detection in an uplink shared control channel. In an exemplary embodiment, a method includes generating soft-combined bit streams for an acknowledgement (ACK) indicator, rank indicator (RI), and channel quality indicator (CQI) received in an uplink shared channel. The method also includes decoding the ACK, RI, and CQI soft-combined bit streams to generate Top-M decoded bit streams for each indicator, and generating Top-Q symbols for each indicator from the Top-M decoded bit streams for each indicator. The method also includes calculating metrics from the Top-Q symbols and uplink control information (UCI) symbols extracted from the uplink shared channel, combining the metrics to form a search space, and searching the search space to determine transmitted ACK, RI, and CQI bits.
    Type: Grant
    Filed: September 28, 2017
    Date of Patent: October 15, 2019
    Assignee: Cavium, LLC
    Inventor: Yuanbin Guo
  • Patent number: 10445096
    Abstract: Managing lock and unlock operations for a first thread executing on a first processor core includes, for each instruction included in the first thread and identified as being associated with: (1) a lock operation corresponding to a particular lock, in response to determining that the particular lock has already been acquired, continuing to perform the lock operation for multiple attempts during which the first processor core is not able to execute threads other than the first thread, or (2) an unlock operation corresponding to a particular lock, releasing the particular lock from the first thread. Prioritization of selected messages sent over interconnection circuitry configured to connect each processor core to a memory system of the processor is preserved. The selected messages associated with instructions identified as being associated with an unlock operation are prioritized over messages associated with instructions identified as being associated with a lock operation.
    Type: Grant
    Filed: May 31, 2017
    Date of Patent: October 15, 2019
    Assignee: Cavium, LLC
    Inventors: Shubhendu Sekhar Mukherjee, Isam Wadih Akkawi, David Asher, Michael Bertone, David Albert Carlson, Bradley Dobbie, Richard Eugene Kessler
  • Patent number: 10430472
    Abstract: A network lookup engine in a network switch is configured to generate multiple lookup queries for each incoming packet in parallel to a remote search engine. The number and type of the lookup queries depend on the protocols supported by the network switch. The responses from the search engine arriving at the lookup engine are not in the same order as the order of the packets. The network lookup engine is configured to collect the responses for the parallel lookup queries in two modes: 1) in-order mode in which the first packet having its lookup queries sent to the search engine has its responses collected first regardless of the order of the responses received from the search engine; 2) out-of-order mode in which the first packet having complete responses to its lookup queries from the search engine has its responses collected first regardless of the order of incoming packets.
    Type: Grant
    Filed: February 26, 2015
    Date of Patent: October 1, 2019
    Assignee: Cavium, LLC
    Inventors: Anh Tran, Mohan Balan
  • Patent number: 10423215
    Abstract: Methods and apparatus for adaptive power profiling in a baseband processing system. In an exemplary embodiment, an apparatus includes one or more processing engines. Each processing engine performs at least one data processing function. The apparatus also includes an adaptive power profile (APP) and a job manager that receives job requests for data processing. The job manager allocates the data processing associated with the job requests to the processing engines based on the adaptive power profile. The adaptive power profile identifies a first group of the processing engines to perform the data processing associated with the job requests, and identifies remaining processing engines to be set to a low power mode.
    Type: Grant
    Filed: May 15, 2017
    Date of Patent: September 24, 2019
    Assignee: Cavium, LLC
    Inventors: Kalyana S. Venkataraman, Gregg A. Bouchard, Eric Marenger, Ahmed Shahid
  • Patent number: 10425234
    Abstract: A new approach is proposed to support monitoring Perfect Forward Secrecy (PFS) network traffic by utilizing a hardware security module (HSM) appliance. Here, the HSM appliance is a high-performance, Federal Information Processing Standards (FIPS) 140-compliant security hardware with embedded firmware, which can be used for management and sharing of ephemeral keys used in a secured PFS communication session between two parties. Specifically, the HSM allows a server to share one or more of its ephemeral keys and/or parameters used in PFS traffic during the session with a third party under specified access rights and/or authorization, wherein the third party can be but is not limited to a traffic monitoring module. The HSM allows the third party to access the ephemeral keys stored on the HSM under the specified access rights and/or authorization so that the third party may decrypt and run analytics on the PFS traffic captured during the session.
    Type: Grant
    Filed: August 26, 2016
    Date of Patent: September 24, 2019
    Assignee: Cavium, LLC
    Inventors: Phanikumar Kancharla, Ram Kumar Manapragada, Tejinder Singh, Girish Kumar Yerra
  • Patent number: 10419481
    Abstract: Methods and systems for securing data are provided. For example, one method includes receiving at an adapter, data with a first type of error protection code from a host memory of a computing device; adding by the adapter a second type of error protection code to the data before removing the first type of error protection code; generating by the adapter, a frame header for the data with a protocol specific protection code and a third type of error protection code, where the third type of error protection code is generated without using any frame header field; encrypting by the adapter, the data, the protocol specific protection code and the third type of error protection code; and transmitting by the adapter, the encrypted data with encrypted protocol specific protection code and encrypted third type of error protection code to a receiving adapter coupled to the adapter by a network link.
    Type: Grant
    Filed: May 16, 2017
    Date of Patent: September 17, 2019
    Assignee: Cavium, LLC
    Inventors: Ali A. Khwaja, David T. Kwak, Biswajit Khandai, Oscar L. Grijalva, Rajendra R. Gandhi
  • Patent number: 10417067
    Abstract: A forwarding pipeline of a forwarding engine includes a mirror bit mask vector with one bit per supported independent mirror session. Each bit in the mirror bit mask vector can be set at any point in the forwarding pipeline when the forwarding engine determines that conditions for a corresponding mirror session are met. At the end of the forwarding pipeline, if any of the bits in the mirror bit mask vector is set, then a packet, the mirror bit mask vector and a pointer to the start of a mirror destination linked list are forwarded to the multicast replication engine. The mirror destination linked list typically defines a rule for mirroring. The multicast replication engine mirrors the packet according to the mirror destination linked list and the mirror bit mask vector.
    Type: Grant
    Filed: August 8, 2017
    Date of Patent: September 17, 2019
    Assignee: Cavium, LLC
    Inventors: Gerald Schmidt, Harish Krishnamoorthy, Tsahi Daniel
  • Patent number: 10419571
    Abstract: A forwarding database cache system is described herein. The forwarding database cache system includes a main forwarding database and one or more forwarding database caches. When a packet is received, the cache is searched first for information such as address information, and if found, then the packet is forwarded to the appropriate destination. If the address information is not found in the cache, then the main forwarding database is searched, and the packet is forwarded to the appropriate destination based on the information in the main forwarding database.
    Type: Grant
    Filed: March 24, 2015
    Date of Patent: September 17, 2019
    Assignee: Cavium, LLC
    Inventor: Martin Leslie White
  • Patent number: 10409911
    Abstract: A hardware-based programmable text analytics processor has a plurality of components including at least a tokenizer, a tagger, a parser, and a classifier. The tokenizer processes an input stream of unstructured text data and identifies a sequence of tokens along with their associated token ids. The tagger assigns a tag to each of the sequence of tokens from the tokenizer using a trained machine learning model. The parser parses the tagged tokens from the tagger and creates a parse tree for the tagged tokens via a plurality of shift, reduce and/or finalize transitions based on a trained machine learning model. The classifier performs classification for tagging and parsing by accepting features extracted by the tagger and the parser, classifying the features and returning classes of the features back to the tagger and the parser, respectively. The TAP then outputs structured data to be processed for various text analytics processing applications.
    Type: Grant
    Filed: April 28, 2017
    Date of Patent: September 10, 2019
    Assignee: Cavium, LLC
    Inventors: Rajan Goyal, Ken Bullis, Satyanarayana Lakshmipathi Billa, Abhishek Dikshit
  • Patent number: 10404623
    Abstract: In an embodiment an interface unit includes a transmit pipeline configured to transmit egress data, and a receive pipeline configured to receive ingress data. At least one of the transmit pipeline and the receive pipeline being may be configured to provide shared resources to a plurality of ports. The shared resources may include at least one of a data path resource and a control logic resource.
    Type: Grant
    Filed: May 22, 2017
    Date of Patent: September 3, 2019
    Assignee: Cavium, LLC
    Inventors: Shahe H. Krakirian, Paul G. Scrobohaci, Daniel A. Katz
  • Patent number: 10394730
    Abstract: Methods and systems are disclosed for routing and distributing interrupts in a multi-processor computer to various processing elements within the computer. A system for distributing the interrupts may include a plurality of logic devices configured in a hierarchical tree structure that distributes incoming interrupts to interrupt redistributors (redistribution devices). The system also includes plural processing elements, where each processing element has an associated bus address. A shared serial bus couples the redistribution devices and processing elements. Each of the redistribution devices is configured to transfer the incoming interrupts to at least one of the processing elements over the common bus, based on the bus address.
    Type: Grant
    Filed: November 14, 2014
    Date of Patent: August 27, 2019
    Assignee: Cavium, LLC
    Inventors: Bryan W. Chin, Wu Ye, Yoganand Chillarige, Paul G. Scrobohaci, Scott Lurndal
  • Patent number: 10397113
    Abstract: Embodiments of the apparatus of identifying internal destinations of network packets relate to a network chip that allows flexibility in handling packets. The handling of packets can be a function of what the packet contents are or where the packets are from. The handling of packets can also be a function of both what the packet contents are and where the packets are from. In some embodiments, where the packets are from refers to unique port numbers of chip ports that the packets arrived at. The packets can be distributed for processing within the network chip.
    Type: Grant
    Filed: March 13, 2017
    Date of Patent: August 27, 2019
    Assignee: Cavium, LLC
    Inventors: Vishal Anand, Tsahi Daniel, Gerald Schmidt, Premshanth Theivendran
  • Patent number: 10389481
    Abstract: In an exemplary embodiment, a method for calculating transport block (TB) cyclic redundancy check (CRC) values includes receiving code blocks (CBs) that form code block groups (CBGs), which form a TB, generating partial TB CRC values from the CBGs, and processing the partial TB CRC values to determine a full TB CRC value. The method also includes comparing the full TB CRC value to a received TB CRC value to determine if the TB has been successfully received. An apparatus includes a receiver that receives CBs that form a TB, and a generator that generates partial TB CRC values from the CBGs. The apparatus also includes a TB CRC checker that processes the partial TB CRC values to determine a full TB CRC value that is compared to a received TB CRC value to determine if the TB has been successfully received.
    Type: Grant
    Filed: September 26, 2017
    Date of Patent: August 20, 2019
    Assignee: Cavium, LLC
    Inventors: Tianmin Ren, Nagabhushana Kurapati, Fariba Heidari
  • Patent number: 10362498
    Abstract: Methods and apparatus for coordinated multipoint receiver processing acceleration and latency reduction. In an exemplary embodiment, an apparatus includes a receiver that receives symbols from a wireless transmission and stores the symbols in a memory. The receiver also outputs an indicator that indicates that storage of the symbols in the memory has begun. The apparatus also includes a controller that outputs control signaling in response to the indicator. The apparatus also includes a link that acquires the symbols and remote scheduling and control information (RSCI) from the memory in response to receiving the control signaling. The link combines the symbols with the RSCI to form packets and transmits the packets to an external system.
    Type: Grant
    Filed: August 31, 2017
    Date of Patent: July 23, 2019
    Assignee: CAVIUM, LLC
    Inventors: Ahmed Shahid, Jason Daniel Zebchuk, Tejas Maheshbhai Bhatt, Hong Jik Kim
  • Publication number: 20190215218
    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: December 31, 2018
    Publication date: July 11, 2019
    Applicant: Cavium, LLC
    Inventors: Hyun Soo Cheon, Hong Jik Kim, Tejas M. Bhatt
  • Patent number: 10349251
    Abstract: Twiddle factor generation for use with a programmable mix-radix vector processor (“PVP”) capable of calculating discrete Fourier transform (“DFT/IDFT”) values. In an exemplary embodiment, an apparatus includes look-up table logic that receives twiddle control factors and outputs a selected twiddle factor scaler value (TFSV), a base vector generator that generates a base vector values based on the selected TFSV, and a twiddle column generator that generates a twiddle vector from the base vector.
    Type: Grant
    Filed: November 9, 2016
    Date of Patent: July 9, 2019
    Assignee: Cavium, LLC
    Inventors: Yuanbin Guo, Hong Jik Kim