Memory Replication Arbiter for Packet Processing Bandwidth

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-device access to a shared resource in high-speed communication systems often results in access bandwidth complications, leading to slowed system performance due to multiple packet processing clients competing for control data stored in memory.

Innovation Solution

A network device with a plurality of packet processing clients and memories, where each memory stores a replica of control data, and an arbiter dynamically selects subsets of memories for access across clock cycles to ensure fair and efficient access, using pseudo-random assignment logic to balance load and prevent consecutive memory access blockages.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If multiple packet processing clients access control data from a single shared memory, then memory resource utilization is improved, but access bandwidth is reduced and system performance slows

Engineering Contradiction:
Improvememory resource utilizationVSAvoidaccess bandwidth
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system segments the control data into multiple replicas distributed across M memories. Each packet processing client can access control data from any memory, dividing the access load across multiple memory units rather than concentrating all access through a single shared memory, thereby maintaining high resource utilization while preserving access bandwidth.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system creates M replicas of the control data stored in M different memories. Instead of having all clients access a single shared memory, each memory contains a complete copy of the control data, allowing multiple clients to simultaneously access different replicas without interfering with each other, thus resolving the bandwidth bottleneck while maintaining efficient memory utilization.

Inventive Principle:
Principle #26Copying

2Productivity

If multiple packet processing clients simultaneously access control data from replicated memories, then access bandwidth is improved, but access coordination complexity increases

Engineering Contradiction:
Improveaccess bandwidthVSAvoidaccess coordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The arbiter is designed as a universal coordination mechanism that handles access requests from any packet processing client to any memory containing control data replicas. This single multi-functional arbiter manages all access coordination needs, preventing the system from requiring complex individual coordination logic at each client-memory interface, thereby maintaining high bandwidth while controlling overall system complexity.

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

3Productivity

If an arbiter dynamically assigns memories to packet processing clients across clock cycles, then load balancing is improved and blockages are reduced, but arbitration logic complexity increases

Engineering Contradiction:
Improveload balancing efficiencyVSAvoidarbitration logic complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements dynamic memory assignment where the arbiter assigns different memories to packet processing clients across different clock cycles based on current system state. This dynamic reassignment prevents any single memory from becoming a bottleneck and reduces consecutive access blockages, achieving superior load balancing. The complexity is managed by implementing the dynamic logic centrally in the arbiter rather than distributed across all clients.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9548885B2Systems and methods for providing replicated data from memories to processing clients
Publication Date: 2017.01.17 MARVELL ISRAEL (M L S L) LTD
  • US9548885B2 patent drawing
  • US9548885B2 patent drawing
  • US9548885B2 patent drawing

AI summary

Systems and methods are provided for a network device. A device includes a plurality of packet processing clients. The device further includes a plurality of memories, where a quantity of the memories is greater than a quantity of the packet processing clients, each of the memories storing a replica of data, the packet processing clients being configured to selectively read the control data from any of the memories. An arbiter is configured to select in a first clock cycle for the plurality of packet processing clients a first subset of memories from among the plurality of memories from which to read the control data, and in a second clock cycle, subsequent to the first clock cycle, to select for the plurality of packet processing clients a second subset of memories from among the plurality of memories from which to read the control data.