Arbitration Packet Ring for Data Switch Port Conflicts
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data switch systems, multiple input ports may simultaneously require access to the same output port, leading to conflicts due to system limitations, which existing arbitration methods fail to resolve effectively, resulting in inefficient data transfer scheduling.
Innovation Solution
A method involving arbitration packets is introduced, where each input port assigns requests to output ports, and these packets are passed among pickers to fill empty slots, ensuring concurrent completion and maintaining a first-in, first-out order, while excluding conflicting port combinations, thus resolving conflicts and optimizing data transfer scheduling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple input ports simultaneously access the same output port, then data transfer throughput increases, but conflicts occur due to system limitations
Solution Approach 1:
The system performs preliminary arbitration by assigning empty arbitration packets to pickers and pre-filling them with requests before actual data transfer. This advance scheduling prevents conflicts by determining the relative ordering of conflicting data transfers before they occur, allowing multiple input ports to safely access the same output port simultaneously.
Solution Approach 2:
Arbitration packets serve as intermediaries between input ports and output ports. These packets carry request information through pickers that mediate the arbitration process, matching input requests with available output ports while resolving conflicts. The intermediary mechanism enables efficient conflict resolution without direct contention between input ports.
2Reliability
If arbitration packets are passed among multiple pickers, then arbitration completeness improves, but system complexity increases
Solution Approach 1:
The arbitration system is segmented into multiple independent pickers, each responsible for processing arbitration packets. This segmentation allows the system to achieve complete arbitration by passing packets among pickers while keeping each individual picker relatively simple. The distributed architecture improves arbitration completeness without requiring any single component to be overly complex.
Solution Approach 2:
Empty arbitration packets are assigned to multiple pickers simultaneously, and each picker creates and processes copies of these packets. This copying mechanism enables parallel arbitration processing across multiple pickers, improving completeness while maintaining simplicity through standardized packet structures that can be replicated and processed independently.
3Adaptability or versatility
If requests are buffered at input ports, then data transfer flexibility improves, but arbitration latency increases
Solution Approach 1:
Requests are buffered in advance at input ports and pre-filled into arbitration packets before arbitration occurs. This preliminary action allows the system to maintain flexibility by having requests ready while reducing latency by preparing arbitration packets ahead of time. The buffered requests are immediately available for arbitration without waiting for new arrivals.
Solution Approach 2:
The buffering mechanism maintains continuous useful action by keeping requests ready in buffers and continuously filling arbitration packets with available requests. This continuous preparation ensures that arbitration can proceed without idle time, maintaining flexibility while minimizing latency through uninterrupted request availability.
Data Source
AI summary
Aspects relate to arbitrating access to an interconnect among multiple ports. For example, input ports receive requests for access to identified destination ports and buffer these in one or more FIFOs. A picker associated with respective FIFO(s) begins an empty arbitration packet that includes a location for each output port and fills one or more locations in the packet, such as based on a prioritization scheme. Each packet is passed in a ring to another picker, which performs a fill that does not conflict with previously filled locations in that packet. Each picker has an opportunity to place requests in each of the packets. Results of the arbitration are dispatched to reorder buffers associated with respective output ports and used to schedule the interconnect. Each arbitration cycle thus produces a set of control information for an interconnect to be used in subsequent data transfer steps.


