Patents by Inventor Weihuang Wang

Weihuang Wang 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: 10218643
    Abstract: A network switch to support scalable and flexible access control list (ACL) lookup comprises a packet processing pipeline including a plurality of packet processing units each configured to generate a master key for an ACL lookup request to a memory pool and process a received packet based on ACL search results. The network switch further includes said memory pool including a plurality of memory groups each configured to maintain a plurality of ACL tables to be searched in one or more SRAM memory tiles of the memory group, accept and format the master key generated by the packet processing unit into a compact key based on a bitmap per user configuration, hash the formatted compact key and search the ACL tables stored in the one or more SRAM memory tiles using the formatted compact key, process and provide the ACL search results to the requesting packet processing unit.
    Type: Grant
    Filed: January 30, 2017
    Date of Patent: February 26, 2019
    Assignee: Cavium, LLC
    Inventors: Jeffrey Huynh, Anh Tran, Weihuang Wang
  • Publication number: 20180323789
    Abstract: Embodiments of the present invention relate to an architecture that uses hierarchical statistically multiplexed counters to extend counter life by orders of magnitude. Each level includes statistically multiplexed counters. The statistically multiplexed counters includes P base counters and S subcounters, wherein the S subcounters are dynamically concatenated with the P base counters. When a row overflow in a level occurs, counters in a next level above are used to extend counter life. The hierarchical statistically multiplexed counters can be used with an overflow FIFO to further extend counter life.
    Type: Application
    Filed: June 27, 2018
    Publication date: November 8, 2018
    Inventors: Weihuang Wang, Gerald Schmidt, Srinath Atluri, Weinan Ma, Shrikant Sundaram Lnu
  • Patent number: 10116564
    Abstract: Embodiments of the present invention are directed to a wildcard matching solution that uses a combination of static random access memories (SRAMs) and ternary content addressable memories (TCAMs) in a hybrid solution. In particular, the wildcard matching solution uses a plurality of SRAM pools for lookup and a spillover TCAM pool for unresolved hash conflicts.
    Type: Grant
    Filed: November 10, 2014
    Date of Patent: October 30, 2018
    Assignee: Cavium, Inc.
    Inventors: Weihuang Wang, Tsahi Daniel, Srinath Atluri
  • Patent number: 10091137
    Abstract: A network switch to support scalable and flexible wildcard matching (WCM) comprises a packet processing pipeline including a plurality of packet processing units each configured to generate a master key for a WCM request to a memory pool and process a packet based on looked up WCM rules. The memory pool includes a plurality of memory groups each configured to maintain a plurality of WCM tables to be searched in one or more SRAM memory tiles of the memory group, format the master key generated by the packet processing unit into a compact key based on a bitmap per user configuration, hash the formatted compact key and perform wildcard matching with the WCM tables stored in the one or more SRAM memory tiles of the memory group using the formatted compact key, process and provide the WCM rules from the wildcard matching to the requesting packet processing unit.
    Type: Grant
    Filed: January 30, 2017
    Date of Patent: October 2, 2018
    Assignee: Cavium, Inc.
    Inventors: Anh Tran, Jeffrey Huynh, Weihuang Wang
  • Patent number: 10061513
    Abstract: A packet processing system having a control path memory of a control path subsystem and a datapath memory of a datapath subsystem. The datapath subsystem stores packet data of incoming packets and the control path subsystem performs matches of a subset of packet data, or a hash of the packet data, against the contents of a the control path memory in order to process the packets. The packet processing system enabling a portion of the datapath memory to be used by the control subsystem if needed or a portion of the control path memory to be used by the datapath subsystem if needed.
    Type: Grant
    Filed: April 10, 2017
    Date of Patent: August 28, 2018
    Assignee: Cavium, Inc.
    Inventors: Enrique Musoll, Weihuang Wang
  • Publication number: 20180219800
    Abstract: A network switch to support scalable and flexible access control list (ACL) lookup comprises a packet processing pipeline including a plurality of packet processing units each configured to generate a master key for an ACL lookup request to a memory pool and process a received packet based on ACL search results. The network switch further includes said memory pool including a plurality of memory groups each configured to maintain a plurality of ACL tables to be searched in one or more SRAM memory tiles of the memory group, accept and format the master key generated by the packet processing unit into a compact key based on a bitmap per user configuration, hash the formatted compact key and search the ACL tables stored in the one or more SRAM memory tiles using the formatted compact key, process and provide the ACL search results to the requesting packet processing unit.
    Type: Application
    Filed: January 30, 2017
    Publication date: August 2, 2018
    Inventors: Jeffrey Huynh, Anh Tran, Weihuang Wang
  • Publication number: 20180219801
    Abstract: A network switch to support scalable and flexible wildcard matching (WCM) comprises a packet processing pipeline including a plurality of packet processing units each configured to generate a master key for a WCM request to a memory pool and process a packet based on looked up WCM rules. The memory pool includes a plurality of memory groups each configured to maintain a plurality of WCM tables to be searched in one or more SRAM memory tiles of the memory group, format the master key generated by the packet processing unit into a compact key based on a bitmap per user configuration, hash the formatted compact key and perform wildcard matching with the WCM tables stored in the one or more SRAM memory tiles of the memory group using the formatted compact key, process and provide the WCM rules from the wildcard matching to the requesting packet processing unit.
    Type: Application
    Filed: January 30, 2017
    Publication date: August 2, 2018
    Inventors: Anh Tran, Jeffrey Huynh, Weihuang Wang
  • Patent number: 10038448
    Abstract: Embodiments of the present invention relate to an architecture that uses hierarchical statistically multiplexed counters to extend counter life by orders of magnitude. Each level includes statistically multiplexed counters. The statistically multiplexed counters includes P base counters and S subcounters, wherein the S subcounters are dynamically concatenated with the P base counters. When a row overflow in a level occurs, counters in a next level above are used to extend counter life. The hierarchical statistically multiplexed counters can be used with an overflow FIFO to further extend counter life.
    Type: Grant
    Filed: July 5, 2016
    Date of Patent: July 31, 2018
    Assignee: Cavium, Inc.
    Inventors: Weihuang Wang, Gerald Schmidt, Srinath Atluri, Weinan Ma, Shrikant Sundaram Lnu
  • Publication number: 20180198462
    Abstract: A packet processing system having a barrel compactor that extracts a desired data subset from an input dataset (e.g. an incoming packet). The barrel compactor is able to selectively shift one or more of the input data units of the input dataset based on individual shift values for those data units. Additionally, in some embodiments one or more of the data units are able to be logically combined to produce a desired logical output unit.
    Type: Application
    Filed: March 9, 2018
    Publication date: July 12, 2018
    Inventors: Premshanth Theivendran, Weihuang Wang, Sowmya Hotha, Srinath Atluri
  • Patent number: 9954551
    Abstract: A packet processing system having a barrel compactor that extracts a desired data subset from an input dataset (e.g. an incoming packet). The barrel compactor is able to selectively shift one or more of the input data units of the input dataset based on individual shift values for those data units. Additionally, in some embodiments one or more of the data units are able to be logically combined to produce a desired logical output unit.
    Type: Grant
    Filed: March 31, 2015
    Date of Patent: April 24, 2018
    Assignee: Cavium, Inc.
    Inventors: Premshanth Theivendran, Weihuang Wang, Sowmya Hotha, Srinath Alturi
  • Patent number: 9916274
    Abstract: An on-chip crossbar of a network switch comprising a central arbitration component configured to allocate packet data requests received from destination port groups to memory banks. The on-chip crossbar further comprises a Benes routing network comprising a forward network having a plurality of pipelined forward routing stages and a reverse network, wherein the Benes routing network retrieves the packet data from the memory banks coupled to input of the Benes routing network and route the packet data to the port groups coupled to output of the Benes routing network. The on-chip crossbar further comprises a plurality of stage routing control units each associated with one of the forward routing stages and configured to generate and provide a plurality of node control signals to control routing of the packet data through the forward routing stages to avoid contention between the packet data retrieved from different memory banks at the same time.
    Type: Grant
    Filed: July 23, 2015
    Date of Patent: March 13, 2018
    Assignee: Cavium, Inc.
    Inventors: Weihuang Wang, Dan Tu, Guy Hutchison, Prasanna Vetrivel
  • 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
  • Publication number: 20170364541
    Abstract: 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: Application
    Filed: August 11, 2017
    Publication date: December 21, 2017
    Inventors: Weihuang Wang, Gerald Schmidt, Tsahi Daniel, Mohan Balan
  • 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: 9792400
    Abstract: 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: Grant
    Filed: March 31, 2015
    Date of Patent: October 17, 2017
    Assignee: Cavium, Inc.
    Inventors: Chirinjeev Singh, Nikhil Jayakumar, Weihuang Wang, Weinan Ma, Daman Ahluwalia
  • Patent number: 9773036
    Abstract: 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: Grant
    Filed: May 28, 2014
    Date of Patent: September 26, 2017
    Assignee: Cavium, Inc.
    Inventors: Weihuang Wang, Gerald Schmidt, Tsahi Daniel, Mohan Balan
  • Publication number: 20170242624
    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: Application
    Filed: February 19, 2016
    Publication date: August 24, 2017
    Inventors: Saurin Patel, Weihuang Wang
  • Patent number: 9729447
    Abstract: A network switch includes a memory configurable to store alternate table representations of an individual trie in a hierarchy of tries. A prefix table processor accesses in parallel, using an input network address, the alternate table representations of the individual trie and searches for a longest prefix match in each alternate table representation to obtain local prefix matches. The longest prefix match from the local prefix matches is selected. The longest prefix match has an associated next hop index base address and offset value. A next hop index processor accesses a next hop index table in the memory utilizing the next hop index base address and offset value to obtain a next hop table pointer. A next hop processor accesses a next hop table in the memory using the next hop table pointer to obtain a destination network address.
    Type: Grant
    Filed: April 27, 2016
    Date of Patent: August 8, 2017
    Assignee: Cavium, Inc.
    Inventors: Weihuang Wang, Mohan Balan, Nimalan Siva, Zubin Shah
  • Publication number: 20170212689
    Abstract: A packet processing system having a control path memory of a control path subsystem and a datapath memory of a datapath subsystem. The datapath subsystem stores packet data of incoming packets and the control path subsystem performs matches of a subset of packet data, or a hash of the packet data, against the contents of a the control path memory in order to process the packets. The packet processing system enabling a portion of the datapath memory to be used by the control subsystem if needed or a portion of the control path memory to be used by the datapath subsystem if needed.
    Type: Application
    Filed: April 10, 2017
    Publication date: July 27, 2017
    Inventors: Enrique Musoll, Weihuang Wang