Asynchronous Memory Copy via Dedicated Copy Processor
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In modern processors, memory copy operations can lead to significant delays and inefficiencies due to blocking, causing wasted cycles and cache pollution, especially when dealing with large data transfers, which can hamper processor performance and cache management.
Innovation Solution
Implementing an asynchronous copy process using a separate copy processor managed by an asynchronous copy manager, allowing the CPU to perform other operations during data copying, with cache management features to optimize memory access and reduce overheads.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If synchronous memory copy operations are used, then data transfer is completed reliably, but processor execution is blocked causing delays and wasted cycles
Solution Approach 1:
The system separates the copy operation into two independent segments: a copy engine that performs the actual data transfer, and a processor that continues execution. The copy engine operates independently via DMA channels, allowing the processor to segment its workload and avoid blocking while maintaining reliable data transfer completion through completion status registers.
Solution Approach 2:
The patent introduces an intermediary copy engine that mediates between the processor and memory. This intermediary handles the data transfer operations, allowing the processor to issue copy commands and continue execution while the intermediary manages the actual data movement and signals completion through status registers or interrupts.
2Quantity of substance
If large amounts of data are copied synchronously, then complete data transfer is achieved, but processing delays occur due to blocking execution
Solution Approach 1:
Large data transfers are segmented into manageable chunks handled by the copy engine through multiple DMA channels. The processor segments its execution to issue copy commands and continue with other tasks, maintaining high productivity while achieving complete transfer of large data volumes through coordinated segmented operations.
Solution Approach 2:
The copy engine maintains continuous operation for large data transfers without blocking the processor. The processor continues useful computational actions while the copy engine continuously transfers data, achieving both complete data transfer and sustained processing throughput through parallel continuous operations.
3Adaptability or versatility
If copy operations are performed frequently, then data movement requirements are met, but cache pollution increases reducing cache efficiency
Solution Approach 1:
The patent extracts the cache access operations from the processor execution path and relocates them to the copy engine. The processor issues copy commands without directly accessing cache for data movement, while the copy engine handles memory-to-memory transfers independently, reducing cache pollution from frequent copy operations while maintaining data movement flexibility.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
An example method includes during execution of a software application by a processor, receiving, by a copy processor separate from the processor, a request for an asynchronous data copy operation to copy data within a memory accessible by the copy processor, wherein the request is received from a copy manager accessible by the software application in a user space of an operating system managing execution of the software application; in response to the request, initiating, by the copy processor, the asynchronous data copy operation; continuing execution of the software application by the processor; determining, by the copy processor, that the asynchronous data copy operation has completed; and in response to determining that the asynchronous copy operation has completed, selectively notifying, by the copy processor, the software application that the asynchronous copy operation has completed.