Data Move Engine for Transparent Non-Volatile Memory Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-volatile memory systems face issues such as memory wear-out and latency, leading to data corruption and delayed access.

Innovation Solution

A data move engine is introduced to relocate data from a non-volatile memory experiencing wear-out or latency issues, allowing immediate access to the data during the move by tracking the status of data lines and redirecting access to either the source or target address, thus preventing data corruption and reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Duration of action of stationary object

If data is stored in non-volatile memory, then data persistence is improved, but memory wear-out and latency issues occur

Engineering Contradiction:
Improvedata persistenceVSAvoidmemory wear-out
Core Design Contradiction:
Duration of action of stationary objectVSReliability

Solution Approach 1:

The system proactively moves data blocks before wear-out occurs by monitoring write counts and latency metrics. The data move engine initiates relocation operations in advance, transferring data from aging non-volatile memory locations to fresh locations or different memory types, preventing wear-out related failures before they happen.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A data move engine is introduced as an intermediary component between the processor and non-volatile memory. This engine transparently intercepts memory access requests, determines whether data has been moved, and redirects accesses to the correct location (source or target), thereby managing wear-out issues without affecting application transparency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If data is moved from non-volatile memory, then latency is reduced, but data access continuity may be affected

Engineering Contradiction:
ImprovelatencyVSAvoiddata access continuity
Core Design Contradiction:
Loss of timeVSStability of the object's composition

Solution Approach 1:

The system maintains backward pointers to source address data blocks even after moving data to target addresses. This preliminary preservation of source data allows the system to handle access requests that arrive during the transition period, ensuring continuity while enabling latency optimization for future accesses.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The data move engine acts as an intelligent intermediary that tracks moved data blocks and transparently redirects access requests. When data is moved, the engine updates internal mappings so that both source and target addresses can be accessed appropriately, maintaining access continuity while achieving latency reduction through optimized data placement.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If data move engine redirects access to target address, then access speed is improved, but system complexity increases

Engineering Contradiction:
Improveaccess speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The data move engine is integrated within the existing memory controller architecture, serving as an intermediary layer that adds redirection functionality without requiring separate hardware components. It maintains access speed by intercepting and redirecting memory requests at the controller level, while the complexity is managed through systematic tracking of moved data blocks using organized data structures.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The memory controller is enhanced with multi-functionality to include data move engine capabilities, address tracking, and transparent redirection. By consolidating these functions within a single controller unit rather than adding separate systems, the patent improves access speed while minimizing the increase in overall system complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9927988B2Data move engine to move a block of data
Publication Date: 2018.03.27 HEWLETT PACKARD ENTERPRISE DEV LP
  • US9927988B2 patent drawing
  • US9927988B2 patent drawing
  • US9927988B2 patent drawing

AI summary

Examples disclosed herein provide moving a block of data between a source address and a target address. The examples disclose initiating a data move engine to move the block of data from the source address to the target address. Additionally, the examples disclose moving the block of data from the source address to the target address in a manner which allows a processor to concurrently access the block of data during the move.