Dynamic FPGA Data Plane Architecture for Scalable Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data plane architectures for Ethernet switches and routers face challenges in scaling across various speeds and sizes without increasing costs, particularly in FPGA platforms, where high-speed operations require expensive hardware and inefficient memory usage for lookup tables.

Innovation Solution

A dynamic and flexible multi-processing dataplane architecture that adapts to different FPGA architectures by using multiple processing units, processing pipes, and various memory types, including DDR-SDRAM and BRAM, to manage ingress and egress data processes efficiently across multiple FPGAs, optimizing memory access and reducing costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a 1024 bit data bus is used to support 100 Gbps switch speed, then the switch capacity is improved, but the FPGA cost and device size increase significantly

Engineering Contradiction:
Improveswitch capacityVSAvoidFPGA cost and size
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The data bus is segmented into multiple smaller buses (e.g., 128-bit buses) that operate in parallel or sequentially. Instead of using a single 1024-bit bus, the system divides the bandwidth into manageable segments that can be handled by smaller, less expensive FPGA resources while achieving the same aggregate throughput through multiple channels.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The data bus width and configuration are made dynamic and adaptable. The system can adjust the bus width and number of buses based on the actual traffic requirements, allowing it to operate efficiently at lower speeds using smaller buses and only scaling to larger bus configurations when high-speed performance is actually needed, thus avoiding the cost of always having maximum capacity hardware.

Inventive Principle:
Principle #15Dynamics

2Productivity

If the operating frequency is increased to 250 MHz to support higher speeds, then the switch performance is improved, but it becomes difficult to meet timing requirements when utilization exceeds 70%

Engineering Contradiction:
Improveswitch performanceVSAvoidtiming requirement compliance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The processing workload is segmented across multiple processing elements or pipelines that can operate at lower, more manageable clock frequencies. By dividing the data flow into parallel processing streams, each operating at a relaxed timing regime, the system achieves high aggregate throughput without requiring any single element to operate at unsustainable high speeds with tight timing constraints.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of processing all data at maximum speed through a single high-frequency path, the system uses multiple lower-frequency paths that collectively handle the full load. This distributes the timing pressure across multiple less-critical paths, making it easier to meet timing requirements while still achieving the necessary overall performance.

Inventive Principle:
Principle #16Partial or excessive action

3Speed

If expensive memory types like CAM or QDR SRAM are used to store lookup tables, then the access speed is improved, but the product cost increases abysmally

Engineering Contradiction:
Improvememory access speedVSAvoidproduct cost
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

Different types of memory are used in different locations within the system based on specific performance requirements. Critical lookup tables that require fast access are placed in high-speed memory (BRAM or block RAM), while less time-sensitive data resides in slower, cheaper DDR SDRAM. This localized optimization provides fast access where needed without paying for high-speed memory throughout the entire system.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The memory system uses a composite architecture combining multiple memory types (BRAM, block RAM, and DDR SDRAM) in a hierarchical structure. This composite memory system leverages the strengths of each memory type - the speed of BRAM for critical lookups and the capacity and cost-effectiveness of DDR SDRAM for larger databases - achieving an optimal balance between performance and cost.

Inventive Principle:
Principle #40Composite materials

4Device complexity

If normal DDR3 memory devices are used to store lookup tables, then the cost is reduced, but the random access delays become too large for effective operation

Engineering Contradiction:
Improvememory costVSAvoidrandom access delay
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The most frequently accessed lookup table entries are cached in fast BRAM or block RAM located close to the processing logic, while the complete database resides in slower DDR SDRAM. This creates a local high-speed cache layer that eliminates random access delays for critical operations while maintaining the cost benefits of using DDR SDRAM for the bulk storage capacity.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10044614B2System and method for dynamic and configurable L2/L3 data—plane in FPGA
Publication Date: 2018.08.07 TEJAS NETWORKS LTD
  • US10044614B2 patent drawing
  • US10044614B2 patent drawing
  • US10044614B2 patent drawing

AI summary

A system and method for providing multi-processor data plane architecture have been provided. The method comprises selecting several processing units for performing an egress data process and an ingress data process. A number of processing units are selected for performing an egress data process based on a type of switch and data rate. Several processing pipes are provided for each processing unit. Each processing pipe is divided into several processing stages based on a number of lookup tables used in the egress data process and the ingress data process to absorb a response time of a memory device. The data is stored in several databases in each processing unit, and the databases are copied into several banks to increase an access time with a storage device, such as DDR-SDRAM. Several headers are resynchronized using a fixed delay time through an ACL unit.