PCI Express Switch Routing Code Analysis for Catastrophic Error Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Catastrophic routing conditions in PCI Express switches, caused by mis-configuration or design errors, lead to unpredictable behavior and potential system disruptions, as the switch may hang or stop accepting packets, requiring a restart to resolve.

Innovation Solution

A method and apparatus for detecting and handling catastrophic routing conditions by analyzing routing codes in PCI Express switches, preventing execution of potentially catastrophic packets, correcting errors if possible, and notifying the root complex to reconfigure mis-configured switches, thereby preventing disruptions and allowing continuous operation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the switch executes routing based on Base Address Registers, then packet routing is achieved, but catastrophic routing conditions occur when multiple ports detect a range match

Engineering Contradiction:
Improvepacket routing efficiencyVSAvoidrouting correctness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by checking whether a catastrophic routing condition exists before executing the packet routing. The routing logic includes a pre-execution verification step that detects if multiple downstream ports detect a range match for the same target address, and if so, prevents the routing execution and generates an unsupported request signal, thereby avoiding the catastrophic condition before it can disrupt switch operation.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the switch stops operation to handle catastrophic routing, then routing correctness is restored, but switch productivity is lost

Engineering Contradiction:
Improverouting correctnessVSAvoidswitch operation continuity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the problematic packet from the routing process by detecting catastrophic routing conditions and preventing execution of that specific packet's routing. Instead of stopping the entire switch operation, only the problematic packet is removed from the routing flow and an unsupported request signal is generated, allowing the switch to continue normal operation for all other packets while maintaining routing correctness.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If the switch accepts all packets for routing, then productivity is maximized, but unpredictable behavior occurs due to catastrophic routing

Engineering Contradiction:
Improvepacket acceptance rateVSAvoidswitch behavior predictability
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent implements feedback by having the routing logic continuously monitor for catastrophic routing conditions and provide feedback signals when detected. When multiple downstream ports detect a range match, the routing logic generates an unsupported request signal that feeds back to prevent further catastrophic routing execution, thereby maintaining predictable switch behavior while maximizing packet acceptance for valid routing scenarios.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7756014B1Device and method for handling catastrophic routing
Publication Date: 2010.07.13 MICROSEMI STORAGE SOLUTIONS US INC
  • US7756014B1 patent drawing
  • US7756014B1 patent drawing
  • US7756014B1 patent drawing

AI summary

A method and device for handling catastrophic switch routing errors. Upon receiving a communication packet in a packet switching device, a port in the switching device is matched with the destination address of the communication packet and a routing code is generated to direct routing of the communication packet internally to the packet switching device. The routing code is analyzed to determine whether a catastrophic routing condition exists in the routing code. If no catastrophic routing condition exists, the routing is executed. However, when there is a catastrophic routing condition, execution of the routing of the communication packet is prevented.