Asynchronous Memory Copy via Dedicated Copy Processor

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata transfer completionVSAvoidprocessor idle time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvedata transfer volumeVSAvoidprocessing throughput
Core Design Contradiction:
Quantity of substanceVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #20Continuity of useful action

3Adaptability or versatility

If copy operations are performed frequently, then data movement requirements are met, but cache pollution increases reducing cache efficiency

Engineering Contradiction:
Improvedata movement flexibilityVSAvoidcache pollution
Core Design Contradiction:
Adaptability or versatilityVSObject-generated harmful factors

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.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP3657341B1Asynchronous copying of data within memory
Publication Date: 2022.08.31 GOOGLE LLC
  • EP3657341B1 patent drawingFigure 1
  • EP3657341B1 patent drawingFigure 2
  • EP3657341B1 patent drawingFigure 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.