Exact-Match Flow Table Using Programmable Reduce Circuit

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing packet switching technologies face inefficiencies in handling packets due to the lack of exact-match flow tables that can store wildcard indicators or mask values, leading to increased switching congestion and power consumption in network devices.

Innovation Solution

An integrated circuit with an exact-match flow table structure that uses Static Random Access Memory (SRAM) to store flow entries with unique Flow IDs, where each bit of the Flow ID is stored in one cell, and generates a Flow ID from incoming packets for bit-by-bit matching, with actions determined based on exact matches or miss indications, and includes a multiplexer circuit and programmable reduce table circuit for generating Flow IDs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional flow tables with wildcard indicators and mask values are used, then packet matching flexibility is improved, but device complexity and power consumption increase

Engineering Contradiction:
Improvepacket matching flexibilityVSAvoidflow table structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts and removes the wildcard indicator and mask value components from the flow table structure. By eliminating these elements, the flow table is simplified to store only exact Flow IDs, reducing structural complexity while maintaining packet matching capability through exact-match operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the matching parameter from partial/wildcard matching to exact-bit matching. Each bit of the Flow ID is stored in one SRAM cell and matched exactly against corresponding packet bits, transforming the matching mechanism from complex pattern matching to simple exact comparison.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If traditional flow tables with wildcard indicators are used, then packet matching versatility is improved, but power consumption increases

Engineering Contradiction:
Improvepacket matching versatilityVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by stationary object

Solution Approach 1:

The patent removes wildcard indicators and mask values from the flow table, eliminating the computational overhead associated with evaluating these elements during packet matching. This extraction reduces power consumption while maintaining matching functionality through exact Flow ID comparison.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses simple SRAM cells for storing Flow ID bits, replacing complex matching structures with basic memory elements. Each SRAM cell stores one bit and participates in simple exact-match operations, reducing the energy cost per matching operation compared to traditional wildcard evaluation mechanisms.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Productivity

If exact-match flow tables without wildcard indicators are used, then switching congestion is reduced, but packet handling adaptability decreases

Engineering Contradiction:
Improveswitching efficiencyVSAvoidpacket handling adaptability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments the packet handling process into two distinct phases: Flow ID generation from packet bits, and exact-match lookup of the generated Flow ID. This segmentation enables efficient exact-match switching while adaptability is maintained through the programmable Flow ID generation process that can extract different bit patterns from incoming packets.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces the Flow ID as an intermediary between the incoming packet and the flow table lookup. The Flow ID is generated from selected packet bits through programmable logic, then used as the exact-match key. This intermediary enables efficient switching while maintaining adaptability through flexible Flow ID generation rules.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9819585B1Making a flow ID for an exact-match flow table using a programmable reduce table circuit
Publication Date: 2017.11.14 NETRONOME SYSTEMS INC
  • US9819585B1 patent drawing
  • US9819585B1 patent drawing
  • US9819585B1 patent drawing

AI summary

An exact-match flow table structure stores flow entries. Each flow entry includes a Flow Id. A flow entry is generated from an incoming packet. The flow table structure determines whether there is a stored flow entry, the Flow Id of which is an exact-match for the generated Flow Id. In one novel aspect, a programmable reduce table circuit is used to generate a Flow Id. A selected subset of bits of an incoming packet is supplied as an address to an SRAM, so that the SRAM outputs a data value. The data value is supplied to a programmable lookup circuit such that the lookup circuit performs a selected type of lookup operation, and outputs a result value of a reduced number of bits. A multiplexer circuit is used to form a Flow Id such that the result value is a part of the Flow Id.