Endpoint Caching Notification Protocol for PCIe Memory
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Reliability
If CPU directly manages data transfer to peripheral components, then data coherency is maintained, but CPU involvement increases
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.
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.
Data Source
Figure 1~2
Figure 3~4
Figure 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.