Posted Write Operations for PCIe Endpoint Data Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing PCIe interface protocols face performance bottlenecks due to high latency and inefficient address mapping schemes, particularly when managing large ACL entries and variable-sized data entries, leading to increased processor idle time and complex address management.

Innovation Solution

Implementing posted write operations and a variable-sized address mapping scheme that allows managed devices to write data back to system memory, reducing latency and improving processor performance by enabling direct access to stored data from system memory or processor cache, and simplifying address management through incremental device addresses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If non-posted read operations are used to retrieve data from managed device, then data can be read from managed device, but processor pipeline is stalled causing high latency

Engineering Contradiction:
ImprovelatencyVSAvoidprocessor throughput
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent implements posted write operations that allow the managed device to proactively write data back to system memory before the processor requests it. This preliminary action eliminates the need for the processor to stall and wait for data, as the data is already available in system memory when needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces system memory as an intermediary between the managed device and the processor. Instead of direct processor-to-managed-device communication that causes stalls, data flows through system memory, allowing the processor to continue executing other instructions while data is being prepared and made available.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If PCIe address mapping scheme with 4-byte increment is used, then addressing is simplified, but managing 256 addresses for a single 1024-byte ACL entry is inefficient

Engineering Contradiction:
Improveaddressing simplicityVSAvoidaddress management efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments the address space into device-specific regions, allowing each managed device to have its own address mapping scheme. This enables efficient addressing within device contexts while maintaining simplified access patterns, avoiding the need to manage 256 individual addresses for a single entry.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different address mapping characteristics to different regions of the address space. Device-specific address spaces use mappings optimized for device requirements (such as contiguous addressing for ACL entries), while other regions maintain standard PCIe mappings, allowing each region to have the quality needed for its specific purpose.

Inventive Principle:
Principle #3Local quality

3Productivity

If posted write operations are used to write data to managed device, then processor can continue processing without delays, but data must be read back from system memory adding complexity

Engineering Contradiction:
Improveprocessor throughputVSAvoiddata access architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent enables the managed device to service itself by having it write data back to system memory autonomously after receiving posted writes. This self-service mechanism eliminates the need for complex processor-initiated read operations, as the device automatically makes its data available where the processor can access it.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10789001B1Posted operation data control
Publication Date: 2020.09.29 INNOVIUM INC
  • US10789001B1 patent drawing
  • US10789001B1 patent drawing
  • US10789001B1 patent drawing

AI summary

Methods, systems, and apparatus, including a managed device comprising memory storage, one or more control registers, and circuitry to perform operations of receiving, from a control system, one or more posted write operations directed to the one or more control registers; based on the one or more posted write operations, storing in the one or more control registers, data specifying at least a system address of a memory of the control system, where the system address corresponds to a starting address of a predetermined section of the memory; and transferring managed device data from the memory storage to the predetermined section of the memory of the control system by issuing, to the control system and based on the system address of the memory, one or more posted write operations to write the managed device data to the predetermined section of the memory.