Flow Table Aging via DRAM Cache Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current systems for managing flow tables in network components, stored in dynamic random access memory (DRAM), face bandwidth limitations and latency issues due to frequent access, leading to potential faults and unacceptable delays.
Innovation Solution
A method for managing flow tables involves maintaining a flow table age cache and an age state table, where the flow table management module updates timer information and evaluates entry ages based on activity, removing entries if they exceed a threshold time value, and using a multi-bit clock for age evaluation, thereby reducing bandwidth consumption and improving processing efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If flow table aging is implemented by continuously accessing the flow table in DRAM, then flow entries can be properly maintained and stale entries removed, but bandwidth limitations are overwhelmed leading to faults and unacceptable latencies
Solution Approach 1:
The patent segments the flow table management by separating the aging function into a dedicated aging counter and comparator circuitry that operates independently from the main flow table lookup path. This segmentation allows aging operations to proceed without blocking or overwhelming the primary DRAM bandwidth, as the aging counters are maintained in separate storage registers rather than requiring continuous DRAM access.
Solution Approach 2:
The patent introduces an intermediary aging counter mechanism that mediates between the flow table entries and the aging determination logic. The aging counters serve as intermediaries that track entry age without requiring direct DRAM access for each aging check, thus reducing bandwidth consumption while maintaining reliable flow table management.
2Reliability
If flow table entries are frequently accessed for aging determination, then stale entries can be identified and removed, but latency increases due to continuous DRAM access
Solution Approach 1:
The patent implements preliminary action by pre-incrementing aging counters whenever flow table entries are modified or added. This preliminary aging tracking eliminates the need for continuous DRAM access during aging determination, as the age information is already maintained in the aging counters. The comparator circuitry can then determine staleness by simple comparison operations without requiring time-consuming DRAM reads.
Solution Approach 2:
The patent substitutes the mechanical DRAM access system with a faster aging counter-based timing mechanism. Instead of mechanically accessing DRAM to determine entry age, the system uses electronic aging counters that increment automatically and can be compared in place, providing much faster aging determination with minimal latency.
3Productivity
If the flow table cache is made larger to reduce queries to the full flow table, then processing speed improves, but the bandwidth limitations and latency issues persist for DRAM access
Solution Approach 1:
The patent segments the memory hierarchy by maintaining a separate aging counter structure that is independent of the flow table cache size. This segmentation allows the aging function to operate efficiently regardless of cache dimensions, as the aging counters are maintained in separate storage registers rather than consuming cache bandwidth.
Solution Approach 2:
The patent creates a universal aging mechanism that works independently of the flow table cache implementation. The aging counters and comparator circuitry provide multi-functional capability by supporting flow table aging regardless of whether entries are in the cache or in the full DRAM table, thus eliminating the trade-off between cache size and aging bandwidth.
Data Source
Figure 1
Figure 2~3
Figure 4
AI summary
A flow table management system can include a hardware memory module communicatively coupled to a network interface card. The hardware memory module is configured to store a flow table including a plurality of network flow entries. The network interface card further includes a flow table age cache configured to store a set of recently active network flows and a flow table management module configured to manage a duration for which respective network flow entries in the flow table stored in the hardware memory module remain in the flow table using the flow table age cache. In some implementations, age information about each respective flow in the flow table is stored in the hardware memory module in an age state table that is separate from the flow table.