Shared Memory Interleaving for Multiport Switch Throughput Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiport switches, achieving efficient packet storage in shared memory while maintaining low latency is hindered by the need to match input and output throughput of each port with the shared memory, limiting configuration variability and requiring padding data, which decreases efficiency.

Innovation Solution

A shared memory system with multiple memory banks and a controller that writes data sequentially across memory blocks, using interleaving to manage throughput differences between ports and memory, allowing for efficient data transfer without matching port throughputs to memory throughputs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the input and output throughput of each port is set to match the input and output throughput of the shared memory per port, then the efficiency of storing operations on the shared memory is improved, but the variation of the configuration of the switch is significantly limited

Engineering Contradiction:
Improveefficiency of storing operationsVSAvoidvariation of configuration
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The shared memory is divided into multiple memory banks (e.g., 6 memory banks), and data is distributed across these banks in an interleaved manner. This segmentation allows the system to handle throughput differences by parallelizing operations across multiple banks, thereby maintaining high storing efficiency without requiring port throughputs to exactly match memory throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically manages data transfer by introducing a buffer that can absorb throughput differences between ports and shared memory. The buffer size and timing are adjusted dynamically to accommodate varying port throughputs, enabling flexible switch configurations while maintaining efficient memory utilization.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If memory interleaving is used to improve packet switching speed, then the latency is shortened, but padding data must be inserted to match data rates, which decreases the efficiency of storing operations on the memory

Engineering Contradiction:
ImprovelatencyVSAvoidefficiency of storing operations
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The system uses partial interleaving where data from multiple ports is distributed across memory banks only when needed, rather than forcing complete rate matching. This allows the system to achieve low latency through selective parallel access to memory banks without inserting excessive padding data, thereby maintaining high storing efficiency.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

A buffer is introduced as an intermediary between the ports and the shared memory. This buffer absorbs the rate differences and allows memory interleaving to proceed without requiring padding, as the buffer temporarily holds data until the memory is ready to accept it, thus maintaining both low latency and high efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Quantity of substance

If the number of ports in a switch is increased, then the total input and output throughput of the ports increases, but the input and output throughput of the shared memory per port must be increased to an integral multiple, which limits configuration flexibility

Engineering Contradiction:
Improvenumber of portsVSAvoidconfiguration flexibility
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The shared memory is segmented into multiple independent banks that can be accessed in parallel. When the number of ports is increased, the system can distribute data across these segmented banks without requiring the memory throughput per port to increase to an integral multiple, thus maintaining configuration flexibility while supporting higher port counts.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The memory bank structure is designed to be universal, where each bank can handle data from any port. This multi-functional design allows the system to accommodate varying numbers of ports with different throughput requirements without requiring specific integral multiple relationships, thereby enabling flexible configurations.

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

Data Source

PatentUS8116306B2Shared memory system
Publication Date: 2012.02.14 FUJITSU LTD
  • US8116306B2 patent drawing
  • US8116306B2 patent drawing
  • US8116306B2 patent drawing

AI summary

A shared memory system including: a shared memory includes a plurality of memory banks; a plurality of input ports; a plurality of input buffers; and a controller for controlling writing-into and reading out of the shared memory and for transferring data from each of the input buffers to the shared memory, wherein when one of the memory banks is cycled back next to the starting memory bank, another memory block is to be selected next for writing the remainder of a series of data, said controller controlling each of the input buffers to transfer a plurality of series of data to the shared memory successively with a time gap while switching to said another memory block, said controller offsetting a start memory bank in said another block for start writing the remainder of the series of data by an amount of memory banks corresponding to the time gap.