Dual-Memory Flow Table Conflict Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current Software Defined Networking (SDN) systems face bottlenecks in throughput due to memory limitations, where high-speed memories have small storage capacity and lead to conflicts in flow table storage, while large-capacity memories have slow access speeds, affecting packet routing efficiency.

Innovation Solution

The implementation of a dual-memory system where a high-speed, small-capacity SRAM is used for initial flow table storage and a low-speed, large-capacity DRAM is utilized when conflicts arise, dynamically switching between them to maintain efficient packet processing by redistributing entries and resolving conflicts, thereby optimizing throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If high-speed memory is used to store flow table, then packet processing speed is improved, but storage capacity is reduced leading to increased hash conflicts

Engineering Contradiction:
Improvepacket processing speedVSAvoidstorage capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent divides the flow table storage into two segments: a first flow table stored in high-speed memory and a second flow table stored in low-speed memory. This segmentation allows the system to utilize both high-speed and large-capacity storage resources, resolving the contradiction between speed and storage capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical storage dimension by adding a second flow table in low-speed memory alongside the first flow table in high-speed memory. This dimensional expansion allows the system to access flow table entries from multiple storage levels, balancing speed and capacity requirements.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Quantity of substance

If large-capacity memory is used to store flow table, then storage capacity is improved, but access speed deteriorates

Engineering Contradiction:
Improvestorage capacityVSAvoidaccess speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent applies local quality by storing frequently accessed flow table entries in high-speed memory (first flow table) while storing less frequently accessed entries in low-speed memory (second flow table). This localized optimization ensures that critical packet routing operations maintain high speed while the system benefits from expanded storage capacity.

Inventive Principle:
Principle #3Local quality

3Speed

If flow table size is reduced to use high-speed memory, then access speed is improved, but conflict frequency increases

Engineering Contradiction:
Improveaccess speedVSAvoidthroughput
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent introduces a hash conflict detection mechanism as an intermediary between the first and second flow tables. When a hash conflict occurs in the first flow table, the system detects it and redirects the lookup to the second flow table, preventing throughput degradation while maintaining high-speed access for non-conflicting entries.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3958523B1Information processing apparatus and packet control method
Publication Date: 2023.07.19 FUJITSU LTD
  • EP3958523B1 patent drawingFigure 1
  • EP3958523B1 patent drawingFigure 2
  • EP3958523B1 patent drawingFigure 3

AI summary

An information processing apparatus includes a first memory, a second memory, and a control circuit. The first memory stores a first table where entries, which indicate forwarding methods for packets, are stored at positions corresponding to hash values calculated from header information of the packets. The second memory stores a second table that is larger than the first table. The control circuit detects, when the first table is updated, a conflict state where there is conflict between storage positions of different entries in the first table. The control circuit moves entries stored in the first table to the second table in response to the detecting of the conflict state. The control circuit detects resolution of the conflict state when the second table is updated. In response to the detecting of the resolution, the control circuit moves the entries stored in the second table to the first table.