PCIe Access Proxy Isolates CPU From MCE Resets

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The current PCIe hot swap process is prone to system resets due to abnormal offline conditions of PCIe endpoint devices, especially when users directly insert or remove SSDs without advance notification, leading to accumulated incomplete tasks and machine check exceptions (MCE) in the CPU.

Innovation Solution

Implementing an access proxy that mediates between the CPU and PCIe endpoint devices, allowing the CPU to access these devices indirectly through the proxy, ensuring that response messages are always received and preventing task accumulation, thereby avoiding MCE errors and system resets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the current PCIe hot swap process is used, then the system can support device addition and removal, but the system is prone to resets when devices are removed without advance notification

Engineering Contradiction:
Improvehot swap capabilityVSAvoidsystem stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces an access proxy as an intermediary component between the CPU and PCIe endpoint devices. The access proxy intercepts access requests from the CPU, manages the actual access to PCIe devices, and returns simulated response messages even when devices are removed. This mediator isolates the CPU from direct device interaction, preventing system resets while maintaining hot swap functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If users can directly insert or remove SSDs without notification, then ease of operation is improved, but task accumulation occurs leading to MCE errors

Engineering Contradiction:
Improvedevice insertion/removal convenienceVSAvoidCPU task completion
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The access proxy serves as a mediator that decouples user convenience from system reliability. It allows users to freely insert or remove devices without notification while internally managing access requests. The proxy returns simulated completion messages to the CPU, preventing task accumulation and MCE errors while maintaining operational convenience.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The access proxy prepares compensatory response messages in advance to cushion against potential device removal scenarios. When the CPU sends access requests, the proxy has pre-prepared response messages ready to return, ensuring that even if devices are removed without notification, the CPU receives expected completion signals and avoids task accumulation.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Speed

If the CPU directly accesses PCIe endpoint devices, then access speed is maintained, but abnormal offline conditions cause system resets

Engineering Contradiction:
Improvedevice access speedVSAvoidsystem reset prevention
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The access proxy is designed to maintain access speed while improving reliability. It intercepts CPU access requests and manages PCIe device communication, returning response messages quickly even when devices are removed. This intermediary layer prevents system resets caused by abnormal offline conditions while maintaining efficient access throughput through optimized request handling.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3385854B1Computer system, method for accessing peripheral component interconnect express endpoint device, and apparatus
Publication Date: 2021.01.27 HUAWEI TECH CO LTD
  • EP3385854B1 patent drawingFigure 1~2
  • EP3385854B1 patent drawingFigure 3
  • EP3385854B1 patent drawingFigure 4~5

AI summary

Embodiments of the present invention provide a computer system and a method for accessing a peripheral component interconnect express PCIe endpoint device. The computer system includes: a processor, a PCIe bus, and an access proxy. The access proxy connects to the processor and the PCIe endpoint device; the processor is configured to acquire an operation instruction, where the operation instruction instructs the processor to access the PCIe endpoint device by using the access proxy, and send an access request to the access proxy according to the operation instruction, where the access request instructs the access proxy to access the PCIe endpoint device; and the access proxy is configured to send a response message of the access request to the processor after receiving the access request sent by the processor. Because the processor does not directly access the PCIe endpoint device to be accessed but completes access by using the access proxy, the access proxy is capable of returning the response message of the access request to the processor, thereby avoiding an MCE reset for the processor.