Parallel Arbiter for Multi-Port Memory Arbitration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In network devices with multiple memory banks, existing arbitration schemes are inefficient in making quick decisions for packet transmission due to the speed of arbiter devices, leading to delays in writing packets to memory.
Innovation Solution
An arbiter device determines an ordered set of available interfaces during each clock cycle, allowing parallel and independent selection of memory interfaces for multiple port interfaces, ensuring efficient data transfer and distribution of selections over time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If traditional arbitration schemes are used in network devices with multiple memory banks, then the arbiter device can manage access to memory devices, but the arbitration decisions are made slowly causing delays in packet writing
Solution Approach 1:
The patent segments the arbitration process into multiple independent parallel operations. Instead of sequentially arbitrating between ports and then between memory banks, the system divides the arbitration into independent stages: port-to-interface arbitration and interface-to-memory bank arbitration can occur simultaneously. This segmentation allows multiple arbitration decisions to be made in parallel, dramatically increasing arbitration speed and reducing packet writing delays.
Solution Approach 2:
The patent introduces a new dimension of parallelism by adding intermediate interfaces between ports and memory banks. This creates a two-dimensional arbitration space where port interfaces can be arbitrated independently from memory bank interfaces. The intermediate interface layer enables simultaneous arbitration operations that were not possible in traditional single-dimension sequential arbitration schemes.
2Productivity
If multiple memory banks are used to simultaneously write multiple packets, then memory write capacity increases, but the arbiter device becomes a bottleneck limiting the speed of arbitration decisions
Solution Approach 1:
The arbitration functionality is segmented into distributed arbitration units rather than centralized in a single complex arbiter device. Each interface or memory bank can have its own simplified arbitration logic, allowing independent decision-making. This segmentation reduces the complexity burden on any single arbiter device while maintaining the ability to manage multiple memory banks simultaneously for high productivity.
Solution Approach 2:
Intermediate interfaces are introduced as mediators between ports and memory banks. These interfaces handle arbitration locally, reducing the burden on the main arbiter device. The intermediary interfaces can make quick local arbitration decisions and only communicate with the main arbiter when needed, thereby reducing overall system complexity while maintaining high memory write capacity.
3Adaptability or versatility
If the number of memory interfaces exceeds the number of ports, then memory interface availability increases, but efficient distribution of selections among port interfaces becomes challenging
Solution Approach 1:
The patent creates a multi-dimensional mapping structure between ports and memory interfaces through intermediate interface layers. This allows many-to-many relationships where multiple memory interfaces can be efficiently distributed across fewer ports. The intermediate interfaces provide an additional dimension for load balancing and selection distribution, making it easier to manage situations where memory interfaces exceed ports.
Solution Approach 2:
The arbitration system implements self-service through automated selection distribution algorithms. When memory interfaces exceed ports, the system automatically balances the load across available interfaces without manual intervention. The arbitration logic dynamically assigns memory interfaces to ports based on current availability and usage, ensuring efficient distribution while maintaining high adaptability.
Data Source
AI summary
An arbiter device, during a given clock cycle, determines an ordered set corresponding to a plurality of first interfaces. The ordered set indicates whether each first interfaces of the plurality of first interfaces is available for selection for a second interface of a plurality of second interfaces during the given clock cycle. The arbiter device, during the given clock cycle, selects a respective available first interface, from the ordered set corresponding to the plurality of first interfaces, for each of the plurality of second interfaces. Selecting an available first interface for a particular one of the second interfaces is performed in parallel with and independently from selecting available first interfaces for other ones of the second interfaces. The arbiter device, during the given clock cycle, generates an output that indicates the selections of the respective first interfaces for the second interfaces.


