Processor Memory Copy Direction and Interruption Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory copy instructions face challenges in efficiently handling overlapping memory operands, leading to data loss and erroneous results due to the inability to preserve source data in the overlapping region, especially when using standard functions like memcpy.

Innovation Solution

The processor autonomously determines the copy direction based on input parameters, using either ascending or descending copies, and includes logic to handle interruptions during memory copy operations, allowing for resumption from the intermediate point, thus preventing data loss in overlapping regions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If standard memory copy functions like memcpy are used, then the copy operation is simple and fast, but data loss occurs in overlapping memory regions

Engineering Contradiction:
Improvecopy operation speedVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies the inversion principle by changing the copy direction based on overlap detection. When overlap is detected, the copy operation reverses direction (copies from end to start instead of start to end), preventing source data from being overwritten before it can be read. This directional inversion resolves the contradiction by maintaining both speed (single pass copy) and data integrity (no data loss in overlap regions).

Inventive Principle:
Principle #13The other way round (Inversion)

2Reliability

If the processor autonomously determines copy direction and handles interruptions, then data accuracy is improved, but device complexity increases

Engineering Contradiction:
Improvedata accuracyVSAvoidprocessor logic complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies self-service by enabling the processor to autonomously detect memory operand overlap and automatically adjust copy direction without external intervention. The processor also self-manages interruptions by saving and restoring copy state (pointer values and count). This self-service approach improves data accuracy while minimizing the need for complex external control logic, as the processor handles all complexity internally through built-in detection and state management mechanisms.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10261790B2Memory copy instructions, processors, methods, and systems
Publication Date: 2019.04.16 INTEL CORP
  • US10261790B2 patent drawing
  • US10261790B2 patent drawing
  • US10261790B2 patent drawing

AI summary

A processor includes a decode unit to decode a memory copy instruction that indicates a start of a source memory operand, a start of a destination memory operand, and an initial amount of data to be copied from the source memory operand to the destination memory operand. An execution unit, in response to the memory copy instruction, is to copy a first portion of data from the source memory operand to the destination memory operand before an interruption. A descending copy direction is to be used when the source and destination memory operands overlap. In response to the interruption, when the descending copy direction is used, the execution unit is to store a remaining amount of data to be copied, but is not to indicate a different start of the source memory operand, and is not to indicate a different start of the destination memory operand.