Patents Assigned to Cavium, Inc.
-
Patent number: 9819739Abstract: A new approach is proposed that contemplates systems and methods to support hot plugging and/or unplugging one or more of remote storage devices virtualized as extensible/flexible storages and NVMe namespace(s) via an NVMe controller during operation. First, the NVMe controller virtualizes and presents a set of remote storage devices to one or more VMs running on a host attached to the NVMe controller as logical volumes in the NVMe namespace(s) so that each of the VMs running on the host can access these remote storage devices to perform read/write operations as if they were local storage devices.Type: GrantFiled: September 25, 2014Date of Patent: November 14, 2017Assignee: CAVIUM, INC.Inventors: Muhammad Raghib Hussain, Vishal Murgai, Manojkumar Panicker, Faisal Masood, Brian Folsom, Richard Eugene Kessler
-
Patent number: 9813327Abstract: A multicast rule is represented in a hierarchical linked list with N tiers. Each tier or level in the hierarchical linked list corresponds to a network layer of a network stack that requires replication. Redundant groups in each tier are eliminated such that the groups in each tier are stored exactly once in a replication table. A multicast replication engine traverses the hierarchical linked list and replicates a packet according to each node in the hierarchical linked list.Type: GrantFiled: September 23, 2014Date of Patent: November 7, 2017Assignee: Cavium, Inc.Inventors: Gerald Schmidt, Harish Krishnamoorthy, Tsahi Daniel
-
Patent number: 9813342Abstract: A method and a system embodying the method for load balancing of a received a packet based network traffic, comprising: receiving a packet at a software defined network switch; determining information pertaining to uniqueness of a packet flow for the received packet; providing the determined information and the received packet to a network interface controller; and processing the received packet at the network interface controller in accordance with the provided determined information, are disclosed.Type: GrantFiled: November 14, 2014Date of Patent: November 7, 2017Assignee: Cavium, Inc.Inventors: Carl Richard Gyllenhammer, Wilson Parkhurst Snyder, II, Philip Romanov
-
Patent number: 9811467Abstract: A method and a system embodying the method for pre-fetching and processing work for processor cores in a network processor, comprising requesting pre-fetch work by a requestor; determining that the work may be pre-fetched for the requestor; searching for the work to pre-fetch; and pre-fetching the found work into one of one or more pre-fetch work-slots associated with the requestor is disclosed.Type: GrantFiled: February 3, 2014Date of Patent: November 7, 2017Assignee: Cavium, Inc.Inventors: Wilson Parkhurst Snyder, II, Richard Eugene Kessler, Daniel Edward Dever, Nitin Dhiroobhai Godiwala
-
Publication number: 20170301382Abstract: Method and system embodying the method for a general address transformation for an access to a shared memory comprising at least one tile and each tile comprising at least one memory bank, comprising selecting a mode of a general address transformation; providing a general address comprising a plurality of bits by at least one of a plurality of devices; and transforming the general address onto a transformed address according to the selected mode; wherein in a first selected mode the transforming comprises determining each of a plurality of bits of a transformed address as an exclusive or of at least two bits of the plurality of bits of the general address provided that the shared memory comprises a plurality of tiles, and/or each tile comprises a plurality of banks is disclosed.Type: ApplicationFiled: April 14, 2016Publication date: October 19, 2017Applicant: Cavium, Inc.Inventors: Jason Daniel Zebchuk, Gregg Alan Bouchard, David Glen Roe
-
Patent number: 9792400Abstract: System and method of determining flip-flop counts of interconnects of a physical layout during integrated circuit (IC) design. The outputs of each logic block are defined as primary inputs, and the inputs of each logic block are defined as primary outputs. Each interconnect is traversed from a primary input a primary output to identify the flip-flops and determine the flip-flop count. If an interconnect has a greater flip-flop count than an RTL estimated count, measures are taken to reduce the need for flip-flops with the current routing design. If the interconnect has a smaller flip-flop count than an RTL estimated count, additional flip-flops are inserted.Type: GrantFiled: March 31, 2015Date of Patent: October 17, 2017Assignee: Cavium, Inc.Inventors: Chirinjeev Singh, Nikhil Jayakumar, Weihuang Wang, Weinan Ma, Daman Ahluwalia
-
Patent number: 9785403Abstract: An engine architecture for processing finite automata includes a hyper non-deterministic automata (HNA) processor specialized for non-deterministic finite automata (NFA) processing. The HNA processor includes a plurality of super-clusters and an HNA scheduler. Each super-cluster includes a plurality of clusters. Each cluster of the plurality of clusters includes a plurality of HNA processing units (HPUs). A corresponding plurality of HPUs of a corresponding plurality of clusters of at least one selected super-cluster is available as a resource pool of HPUs to the HNA scheduler for assignment of at least one HNA instruction to enable acceleration of a match of at least one regular expression pattern in an input stream received from a network.Type: GrantFiled: July 8, 2014Date of Patent: October 10, 2017Assignee: Cavium, Inc.Inventors: Rajan Goyal, Satyanarayana Lakshmipathi Billa, Yossef Shanava, Gregg A. Bouchard, Timothy Toshio Nakada
-
Patent number: 9787693Abstract: In a method and apparatus for analyzing nodes of a Deterministic Finite Automata (DFA), an accessibility ranking, based on a DFA graph geometrical configuration, may be determined in order to determine cacheable portions of the DFA graph in order to reduce the number of external memory accesses. A walker process may be configured to walk the graph in a graph cache as well as main memory. The graph may be generated in a manner allowing each arc to include information if the node it is pointing to is stored in the graph cache or in main memory. The walker may use this information to determine whether or not to access the next arc in the graph cache or in main memory.Type: GrantFiled: December 5, 2011Date of Patent: October 10, 2017Assignee: Cavium, Inc.Inventors: Rajan Goyal, Muhammad Raghib Hussain, Trent Parker
-
Patent number: 9778315Abstract: 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: GrantFiled: February 9, 2015Date of Patent: October 3, 2017Assignee: Cavium, Inc.Inventors: Nimalan Siva, Keqin Kenneth Han, Saurin Patel, Mohan Balan
-
Patent number: 9781477Abstract: 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: GrantFiled: May 5, 2010Date of Patent: October 3, 2017Assignee: Cavium, Inc.Inventors: Farhad Mighani, Alberto Duenas, Nguyen Nguyen, Gorka Garcia
-
Patent number: 9779028Abstract: Managing translation invalidation includes: in response to determining that a first invalidation message (IM) applies to a subset of virtual addresses (VAs) consisting of fewer than all VAs associated with a first set of translation context (TC) values, searching VA-indexed structure(s) to find and invalidate any entries that correspond to a VA in the subset; in response to determining that a second IM applies to all VAs associated with a second set of TC values and that no entry exists in invalidation-tracking structure(s) corresponding to the second set, bypassing searching any VA-indexed structure(s); and in response to determining that a third IM applies to all VAs associated with a third set of TC values and that at least one entry exists in the invalidation-tracking structure(s) corresponding to the third set, storing invalidation information in the invalidation-tracking structure(s) to invalidate the third set and delaying searching any VA-indexed structure(s).Type: GrantFiled: April 1, 2016Date of Patent: October 3, 2017Assignee: CAVIUM, INC.Inventors: Shubhendu Sekhar Mukherjee, Mike Bertone
-
Patent number: 9772943Abstract: A virtual-address cache module receives at least a portion of a virtual address and in response indicates a hit or a miss. A first cache structure stores only memory blocks with virtual addresses that are members of a set of multiple synonym virtual addresses that have all been previously received by the virtual-address cache module during the operating period, where each member of a particular set of multiple synonym virtual addresses translates to a common physical address, and a memory block with the common physical address is stored in at most a single storage location within the first cache structure. A second cache structure stores only memory blocks with virtual addresses that do not have any synonym virtual addresses that have been previously received by the virtual-address cache during the operating period.Type: GrantFiled: April 1, 2016Date of Patent: September 26, 2017Assignee: CAVIUM, INC.Inventor: Shubhendu Sekhar Mukherjee
-
Patent number: 9772952Abstract: An embodiment of the present disclosure includes a method for compressing data for a translation look aside buffer (TLB). The method includes: receiving an identifier at a content addressable memory (CAM), the identifier having a first bit length; compressing the identifier based on a location within the CAM the identifier is stored, the compressed identifier having a second bit length, the second bit length being smaller than the first bit length; and mapping at least the compressed identifier to a physical address in a buffer.Type: GrantFiled: May 18, 2017Date of Patent: September 26, 2017Assignee: CAVIUM, INC.Inventors: Anna Kujtkowski, Wilson P. Snyder, II
-
Patent number: 9773036Abstract: Embodiments of the present invention relate to a centralized table aging module that efficiently and flexibly utilizes an embedded memory resource, and that enables and facilitates separate network controllers. The centralized table aging module performs aging of tables in parallel using the embedded memory resource. The table aging module performs an age marking process and an age refreshing process. The memory resource includes age mark memory and age mask memory. Age marking is applied to the age mark memory. The age mask memory provides per-entry control granularity regarding the aging of table entries.Type: GrantFiled: May 28, 2014Date of Patent: September 26, 2017Assignee: Cavium, Inc.Inventors: Weihuang Wang, Gerald Schmidt, Tsahi Daniel, Mohan Balan
-
Patent number: 9768912Abstract: A process capable of employing compression and decompression mechanism to receive and decode soft information is disclosed. The process, in one aspect, is able to receive a data stream formatted with soft information from a communication network such as a wireless network. After identifying a set of bits representing a first logic value from a portion of the data stream in accordance with a predefined soft encoding scheme, the set of bits is compressed into a compressed set of bits. The compressed set of bits which represents the first logic value is subsequently stored in a local memory.Type: GrantFiled: September 23, 2014Date of Patent: September 19, 2017Assignee: Cavium, Inc.Inventor: Mehran Nekuii
-
Patent number: 9762544Abstract: In a processor of a security appliance, an input of a sequence of characters is walked through a finite automata graph generated for at least one given pattern. At a marked node of the finite automata graph, if a specific type of the at least one given pattern is matched at the marked node, the input sequence of characters is processed through a reverse non-deterministic finite automata (rNFA) graph generated for the specific type of the at least one given pattern by walking the input sequence of characters backwards through the rNFA beginning from an offset of the input sequence of characters associated with the marked node. Generating the rNFA for a given pattern includes inserting processing nodes for processing an input sequence of patterns to determine a match for the given pattern. In addition, the rNFA is generated from the given type of pattern.Type: GrantFiled: September 24, 2015Date of Patent: September 12, 2017Assignee: Cavium, Inc.Inventors: Rajan Goyal, Satyanarayana Lakshmipathi Billa
-
Patent number: 9760418Abstract: 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: GrantFiled: September 23, 2014Date of Patent: September 12, 2017Assignee: Cavium, Inc.Inventors: Gerald Schmidt, Harish Krishnamoorthy, Tsahi Daniel
-
Patent number: 9753859Abstract: Method and system embodying the method for input/output value determination at a processor core, comprising generating an I/O instruction comprising at least a physical or a virtual address; comparing the address with a relevant database of I/O devices addresses. When the comparing is successful determining the I/O device or a state on the I/O device to receive the I/O instruction in accordance with the address; setting a value of a first register to a value identifying the determined I/O device or the state on the I/O device; predicting a value to be set in a second register in accordance with the address; and setting a value of a third register. Providing I/O instruction other than a request I/O instruction to the I/O device or the state on the I/O device, which sets a register to a value according to the I/O instruction and reports the value to the processor core.Type: GrantFiled: October 4, 2015Date of Patent: September 5, 2017Assignee: Cavium, Inc.Inventors: Wilson Parkhurst Snyder, II, Michael Sean Bertone
-
Patent number: 9747226Abstract: A buffer logic unit of a packet processing device that is configured to allocate single pages to two or more packets if the current packets stored on the page do not fully fill the single page and to store and maintain page slot specific page state data for each of the packet data stored on the pages.Type: GrantFiled: March 30, 2015Date of Patent: August 29, 2017Assignee: Cavium, Inc.Inventor: Enrique Musoll
-
Patent number: 9747109Abstract: Executing instructions in a processor includes analyzing operations to be performed by instructions, including: determining a latency associated with a first operation to be performed by a first instruction, determining a second operation to be performed by a second instruction, where a result of the second operation depends on a result of the first operation, and assigning a value to the second instruction corresponding to the determined latency associated with the first operation. One or more instructions are selected to be issued together in the same clock cycle of the processor from among instructions whose operations have been analyzed, the selected instructions occurring consecutively according to a program order. A start of execution of the second instruction is delayed by a particular number of clock cycles after the clock cycle in which the second instruction is issued according to the value assigned to the second instruction.Type: GrantFiled: October 15, 2014Date of Patent: August 29, 2017Assignee: Cavium, Inc.Inventor: David Albert Carlson