Wildcard Matching in Network Switches Using SRAM Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional Static Random-Access Memory (SRAM) in network switches is not suitable for maintaining and handling Access Control List (ACL) lookup operations due to its lack of support for multiple states, including 'Don't Care' or 'X' states, which limits its flexibility and efficiency in high-throughput network environments.

Innovation Solution

The implementation of a hardware network switch with a flexible packet processing pipeline that generates a master key for ACL and Wildcard Match (WCM) table lookups, using SRAM memory groups with a key format module to create compact keys and hash them for efficient lookup, and error correction mechanisms to handle errors, allowing for scalable and flexible ACL and WCM table operations, including range matching.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by stationary object

If SRAM is used for ACL lookup operations, then power consumption and space occupation are reduced, but the ability to support wildcard matching and multiple states is lost

Engineering Contradiction:
Improvepower consumptionVSAvoidwildcard matching capability
Core Design Contradiction:
Use of energy by stationary objectVSAdaptability or versatility

Solution Approach 1:

The patent segments the ACL table into multiple parts: exact match entries stored in SRAM and wildcard match entries stored in separate memory structures. This allows the system to use power-efficient SRAM for the majority of exact match lookups while maintaining wildcard matching capability through dedicated wildcard entry storage and comparison logic.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary processing stage that handles the transition between SRAM-based exact match lookup and memory-based wildcard match lookup. The intermediary compares packet headers against both exact match SRAM entries and wildcard match memory entries, selecting the appropriate match type based on the lookup requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If TCAM is used for ACL lookup operations, then wildcard matching capability is maintained, but power consumption and space occupation increase

Engineering Contradiction:
Improvewildcard matching capabilityVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by stationary object

Solution Approach 1:

The patent segments the ACL table into multiple parts: exact match entries stored in SRAM and wildcard match entries stored in separate memory structures. This allows the system to use power-efficient SRAM for the majority of exact match lookups while maintaining wildcard matching capability through dedicated wildcard entry storage and comparison logic.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different memory technologies to different functional requirements: SRAM is used for power-efficient exact match operations, while standard memory structures are used for wildcard matching operations. This local optimization allows each memory type to be used where it provides the most benefit.

Inventive Principle:
Principle #3Local quality

3Area of stationary object

If SRAM is used for ACL lookup operations, then space occupation is reduced, but the ability to support wildcard matching and multiple states is lost

Engineering Contradiction:
Improvespace occupationVSAvoidwildcard matching capability
Core Design Contradiction:
Area of stationary objectVSAdaptability or versatility

Solution Approach 1:

The patent segments the ACL table into multiple parts: exact match entries stored in SRAM and wildcard match entries stored in separate memory structures. This allows the system to use space-efficient SRAM for the majority of exact match lookups while maintaining wildcard matching capability through dedicated wildcard entry storage and comparison logic.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary processing stage that handles the transition between SRAM-based exact match lookup and memory-based wildcard match lookup. The intermediary compares packet headers against both exact match SRAM entries and wildcard match memory entries, selecting the appropriate match type based on the lookup requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Use of energy by stationary object

If traditional SRAM is used for ACL operations, then power consumption and space are reduced, but flexibility and efficiency in high-throughput environments are limited

Engineering Contradiction:
Improvepower consumptionVSAvoidthroughput efficiency
Core Design Contradiction:
Use of energy by stationary objectVSProductivity

Solution Approach 1:

The patent segments the ACL processing into parallel paths: one for exact match SRAM operations and another for wildcard match memory operations. This segmentation enables high-throughput processing by allowing both match types to be handled simultaneously without interfering with each other's performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary classification of ACL entries into exact match and wildcard match categories during table setup. This preliminary organization allows the lookup hardware to efficiently route incoming packets to the appropriate matching path, maximizing throughput efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10091137B2Apparatus and method for scalable and flexible wildcard matching in a network switch
Publication Date: 2018.10.02 MARVELL ASIA PTE LTD
  • US10091137B2 patent drawing
  • US10091137B2 patent drawing
  • US10091137B2 patent drawing

AI summary

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.