Front-Side Bus Bandwidth Balancing for PCIe Endpoints

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current PCI-Express systems fail to fully utilize the bandwidth of front-side buses due to the lack of support for multiple traffic classes and virtual lanes, leading to performance issues with isochronous I/O adapters, as existing operating systems and hardware do not take advantage of these architectural features, resulting in bandwidth bottlenecks.

Innovation Solution

A method and system for dynamically balancing the bandwidth of a front-side bus by setting error thresholds, querying performance counters, and adjusting data rate settings for PCIe endpoints to ensure maximum utilization of available bandwidth, even when endpoints exceed the bus's capacity, by increasing data rates for high-priority endpoints and reducing them for lower-priority ones.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If multiple PCIe endpoints operate at maximum data rates simultaneously, then individual endpoint performance is improved, but the total bandwidth exceeds the front-side bus capacity causing system bottlenecks

Engineering Contradiction:
Improveendpoint data rateVSAvoidsystem throughput
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent implements dynamic data rate adjustment for PCIe endpoints based on real-time monitoring of front-side bus utilization. The system continuously adapts endpoint speeds from maximum to reduced rates (e.g., 2.5 GT/s to 1.25 GT/s) according to current bandwidth availability, transforming the static speed configuration into a dynamic control mechanism that prevents saturation while maximizing throughput when capacity permits

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes operational parameters by adjusting the data rate settings of PCIe endpoints according to bus utilization thresholds. When the front-side bus approaches capacity, the system modifies the speed parameter of affected endpoints to maintain optimal system performance, converting a fixed parameter system into one with adaptive parameter control

Inventive Principle:
Principle #35Parameter changes

2Reliability

If bandwidth is allocated to ensure isochronous performance, then reliability of time-dependent I/O is improved, but available bandwidth for other endpoints is reduced

Engineering Contradiction:
Improveisochronous I/O performanceVSAvoidoverall bandwidth utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements a feedback mechanism that monitors front-side bus utilization and endpoint performance metrics in real-time. When isochronous I/O operations are detected, the system provides feedback to adjust data rates of non-isochronous endpoints downward, ensuring guaranteed performance for time-dependent operations while maintaining overall system productivity through intelligent resource allocation based on continuous performance monitoring

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7653773B2Dynamically balancing bus bandwidth
Publication Date: 2010.01.26 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US7653773B2 patent drawing
  • US7653773B2 patent drawing
  • US7653773B2 patent drawing

AI summary

In a dynamic mode, firmware sets a threshold of errors that may occur within a predetermined period of time. If the threshold is exceeded, the firmware queries the front-side bus performance counters to determine whether the front-side bus is operating at its maximum data rate. If the front-side bus is not running at the maximum data rate, then the firmware bumps the data rate settings for the endpoint that exceeds the threshold by one step. If the front-side bus is running at its maximum data rate, then the firmware queries all the endpoints to determine which endpoints are active. The firmware then determines whether there are any active endpoints that are lower priority than the complaining endpoint. The mechanism drops the lower priority endpoints by one step and raises the complaining endpoint by one step.