FCFS Arbiter Using Multiple Request Buckets for Network Processor Resource Arbitration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In network processors, efficiently managing access to shared resources among multiple microengines is challenging, particularly as throughput requirements fluctuate, leading to inefficiencies in processing power utilization.

Innovation Solution

A First Come First Serve (FCFS) arbiter using multiple request buckets is implemented to arbitrate access to shared resources, where requests are stored and prioritized based on their order of arrival, ensuring fair and efficient allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Power

If multiple microengines access shared memory resources via a common bus, then processing power is increased, but access conflicts and inefficiency increase

Engineering Contradiction:
Improveprocessing powerVSAvoidaccess efficiency
Core Design Contradiction:
PowerVSReliability

Solution Approach 1:

The patent segments the request arbitration into multiple priority levels (three priority levels are implemented). Requests are divided into different priority categories, allowing the system to handle multiple simultaneous requests efficiently by serving them in priority order, thus reducing access conflicts while maintaining high processing power utilization

Inventive Principle:
Principle #1Segmentation

2Productivity

If more microengines are employed, then throughput is increased, but resource allocation complexity increases

Engineering Contradiction:
ImprovethroughputVSAvoidresource allocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a dynamic arbitration mechanism where request priorities can change based on current system state. The arbiter dynamically assigns priorities to requests from different microengines, allowing the system to adapt to varying throughput requirements and microengine activity patterns, thus managing resource allocation complexity efficiently as microengine count increases

Inventive Principle:
Principle #15Dynamics

3Device complexity

If a common bus is used for memory access, then device complexity is reduced, but access speed and efficiency deteriorate

Engineering Contradiction:
Improvebus structure simplicityVSAvoidaccess speed
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The patent implements preliminary prioritization of requests before they are serviced. By pre-establishing priority levels for different types of requests and microengines, the system prepares an efficient service order in advance, allowing the simple common bus to operate at high efficiency by avoiding contention and stalls that would occur with ad-hoc arbitration

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9727499B2Hardware first come first serve arbiter using multiple request buckets
Publication Date: 2017.08.08 NETRONOME SYSTEMS INC
  • US9727499B2 patent drawing
  • US9727499B2 patent drawing
  • US9727499B2 patent drawing

AI summary

A First Come First Server (FCFS) arbiter that receives a request to utilize a shared resource from a plurality of devices and in response generates a grant value indicating if the request is granted. The FCFS arbiter includes a circuit and a storage device. The circuit receives a first request and a grant enable during a first clock cycle and outputs a grant value. The grant enable is received from a shared resource. The grant value communicated to the source of the first request. The storage device includes a plurality of request buckets. The first request is stored in a first request bucket when the first request is not granted during the first clock cycle and is moved from the first request bucket to a second request bucket when the first request is not granted during a second clock cycle. A granted request is cleared from all request buckets.