Shared Memory Switch for FPGA Protocol Adaptability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional network switches, especially those using ASICs, are limited in supporting various communication protocols and require significant logic resources, making them inflexible and inefficient in terms of memory usage, particularly when handling different data protocols on Field Programmable Gate Arrays (FPGAs).

Innovation Solution

A protocol-agnostic cell-based switch using BlockRAM memory on FPGAs, which implements a scalable memory architecture with pipelining and data pointers to manage data storage and retrieval efficiently, reducing memory and logic resource usage by eliminating the need for addressing and link lists, and allowing customizable port data-paths and scheduling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional ASIC-based network switches are used to support specific protocols, then protocol-specific performance is optimized, but adaptability to different communication protocols is lost

Engineering Contradiction:
Improveprotocol adaptabilityVSAvoidswitch architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal memory-based switching architecture that can handle multiple communication protocols (Ethernet, InfiniBand, PCI Express, etc.) through a single unified structure. The memory switch uses a common memory array and control logic that adapts to different protocols without requiring separate dedicated switching fabrics for each protocol type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The switching architecture employs dynamic resource allocation where memory bandwidth and access patterns are adjusted based on the active protocol and traffic demands. The system can dynamically reconfigure memory access modes, arbitration schemes, and data path widths to optimize performance for the currently active communication protocol.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If memory-based switching with buffering is implemented to support packet data formats, then protocol support is improved, but logic resource consumption on FPGA increases significantly

Engineering Contradiction:
Improveprotocol support capabilityVSAvoidFPGA logic resource usage
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the switching function from complex protocol-specific logic and relocates it to a simplified memory-based architecture. By removing protocol-specific switching logic and replacing it with universal memory access control, the design significantly reduces FPGA logic resource consumption while maintaining multi-protocol support capabilities.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of implementing multiple parallel switching paths for different protocols, the patent uses a single shared memory structure that serves all protocols. The same physical memory resources are copied and accessed by different protocol handlers, eliminating the need for duplicate logic structures for each protocol.

Inventive Principle:
Principle #26Copying

3Speed

If crossbar switch architecture is used for direct node interconnection, then latency is minimized, but support for packet/cell data formats is lost

Engineering Contradiction:
Improvedata traversal latencyVSAvoidpacket format support
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent merges the low-latency direct connection advantage of crossbar switches with the packet buffering capability of memory structures. The architecture combines fast memory access paths with traditional crossbar switching, allowing packets to be buffered in memory while maintaining high-speed transfer capabilities through optimized memory-to-memory direct paths.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS7568074B1Time based data storage for shared network memory switch
Publication Date: 2009.07.28 XILINX INC
  • US7568074B1 patent drawing
  • US7568074B1 patent drawing
  • US7568074B1 patent drawing

AI summary

A shared memory switch is provided for storing and retrieving data from BlockRAM (BRAM) memory of a PLD. A set of class queues maintain a group of pointers that show the location of the incoming “cells” or “packets” stored in the memory in the switch based on the time of storage in the BRAM. A non-blocking memory architecture is implemented that allows for a scalable N×N memory structure to be created (N=number of input and output ports). A write controller stripes the data across this N×N memory to prevent data collisions on read in or read out of data. The data is scheduled for read out of this N×N shared memory buffer based on priorities or classes in the class queues, with priorities being set by a user, and then data is read out from the BRAM.