Endpoint Caching Notification Protocol for PCIe Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer systems require significant CPU involvement in I/O communications, leading to increased latency and bandwidth consumption due to the need for data transfer through main memory and peripheral buses.

Innovation Solution

The implementation of a notification protocol that allows endpoint devices to cache host cache memory and receive notifications of changes in content state, reducing the need for direct data transfer and enabling direct signaling between host software and endpoint devices through PCIe-based caching and notification mechanisms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is transferred from CPU to peripheral components through main memory and peripheral buses, then data transfer is reliable and coherent, but I/O latency increases and bandwidth consumption increases

Engineering Contradiction:
Improvedata transfer reliabilityVSAvoidI/O latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The endpoint device pre-allocates and prepares buffer memory space in advance, allowing the CPU to directly write data to the buffer without waiting for data transfer or processing. The endpoint device then autonomously retrieves and processes the data from its own buffer, eliminating the traditional sequential dependency where the CPU must wait for data to be transferred through memory and buses before the endpoint can access it.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts the data buffering and retrieval function from the CPU's responsibility and relocates it to the endpoint device. The CPU's role is reduced to simply writing data to the endpoint's buffer, while the endpoint device independently handles data retrieval, processing, and acknowledgment, removing the CPU from the data path and eliminating the need for CPU-mediated data transfer through main memory and peripheral buses.

Inventive Principle:
Principle #2Taking out (Extraction)

2Ease of manufacture

If data is transferred from CPU to peripheral components through main memory and peripheral buses, then system architecture is simple and easy to implement, but bandwidth consumption increases

Engineering Contradiction:
Improvesystem architecture simplicityVSAvoidbandwidth consumption
Core Design Contradiction:
Ease of manufactureVSLoss of energy

Solution Approach 1:

The patent extracts the data retrieval and processing operations from the CPU and main memory path, relocating these functions directly to the endpoint device. This eliminates unnecessary data movement through the memory subsystem and peripheral buses, reducing bandwidth consumption while maintaining architectural simplicity through direct memory access and autonomous endpoint operation.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The endpoint device's buffer memory acts as an intermediary between the CPU and the endpoint's processing logic. Instead of the CPU directly managing all data transfers through the complex memory-hierarchy and bus system, the buffer serves as a local staging area that the endpoint can access directly, reducing the load on the main memory bandwidth and bus infrastructure.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If CPU directly manages data transfer to peripheral components, then data coherency is maintained, but CPU involvement increases

Engineering Contradiction:
Improvedata coherencyVSAvoidCPU efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The endpoint device autonomously manages its own data buffer, retrieving and processing data without requiring CPU intervention. The CPU writes data to the buffer and the endpoint independently handles all subsequent operations including data retrieval, processing, and completion signaling. This self-service model maintains data coherency through the buffer's design while freeing the CPU from continuous involvement in data transfer management.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent extracts the data management and processing responsibilities from the CPU and transfers them to the endpoint device. The CPU's role is simplified to initiating data transfer by writing to the endpoint's buffer, while the endpoint autonomously handles data retrieval, processing, and acknowledgment, significantly reducing CPU involvement and improving overall system productivity.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP2486487B1Notification protocol based endpoint caching of host memory
Publication Date: 2014.12.03 HEWLETT PACKARD DEVELOPMENT COMPANY LP
  • EP2486487B1 patent drawingFigure 1~2
  • EP2486487B1 patent drawingFigure 3~4
  • EP2486487B1 patent drawingFigure 5~6B

AI summary

An endpoint device (14) is registered in association with a host memory address in response to receipt of a request for a notification of a change in content state of the host memory address from the endpoint device (14). In response to a change in content state of the host memory address, a notification that the host memory address has changed content state is sent to the endpoint device (14). In response to receipt of the notification by the endpoint device (14), semantics associated with a change of content state of the host memory address by a data schema (42) is determined and an action is performed by the endpoint device (14) in accordance with the determined semantics.