Memory Sled Reallocation Component for Seamless Data Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In disaggregated hardware systems, memory sleds need to be replaced or adjusted without causing application failure or interruption, and existing methods require shutting down or pausing the application during live migration.

Innovation Solution

A reallocation component manages the transfer of information from a source memory sled to a target sled by using source and target tables to identify initialized and uninitialized pages, allowing only initialized pages to be reallocated, thereby minimizing disruption to the application.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of repair

If memory sleds are replaced or adjusted in disaggregated hardware systems, then system maintainability and resource optimization are improved, but application interruption and downtime increase

Engineering Contradiction:
Improvememory sled replacementVSAvoidapplication downtime
Core Design Contradiction:
Ease of repairVSLoss of time

Solution Approach 1:

The system performs preliminary actions by creating a target memory sled with allocated pages before initiating the reallocation process. The reallocation component checks if target pages are allocated and prepares the target memory sled in advance, ensuring that the application can switch memory sleds without interruption. This preliminary preparation enables seamless memory sled replacement while maintaining application continuity.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If all memory pages are reallocated during memory sled replacement, then data consistency is ensured, but reallocation time and system disruption increase

Engineering Contradiction:
Improvedata consistencyVSAvoidreallocation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The invention extracts only the necessary data for reallocation by checking the source table to identify which pages need to be reallocated. Instead of migrating all memory pages, the system selectively reallocates only the pages that are marked as needing transfer, significantly reducing the amount of data movement and minimizing disruption to the running application.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system performs partial reallocation by processing only the necessary pages identified in the source table. The reallocation component iterates through source pages, checks their status, and reallocates only those that are needed, avoiding the excessive action of migrating all memory content and thereby reducing reallocation time.

Inventive Principle:
Principle #16Partial or excessive action

3Ease of operation

If memory sled reallocation is performed without application awareness, then system transparency is improved, but data loss and corruption risks increase

Engineering Contradiction:
Improvereallocation transparencyVSAvoiddata integrity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system implements feedback mechanisms through the source table and target table that continuously track the allocation status of memory pages. The reallocation component uses this feedback information to verify which pages need to be transferred and ensures that the reallocation process maintains data integrity by checking allocation states throughout the process.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP3695319B1Method and reallocation component for managing reallocation of information from source to target memory sled
Publication Date: 2022.11.23 TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
  • EP3695319B1 patent drawingFigure 1
  • EP3695319B1 patent drawingFigure 2
  • EP3695319B1 patent drawingFigure 3a

AI summary

A method and a reallocation component (110) for managing a reallocation of information from a source memory sled (131) to a target memory sled (132) are disclosed. The source and target memory sleds (131, 132) comprise a respective table (141, 142) indicating source status for each page of the source and target memory sleds (131, 132), respectively. The reallocation component (110) initiates (A130), for said each respective source page whose status indicates that said respective source page is initialized, reallocation of the respective content allocated on said each respective source page of the source memory sled (131) to a respective target page of the target memory sled (132). The reallocation component (110) sets (A145) for said each respective source page whose status indicates that said respective source page is uninitialized, the respective target status for the respective target page to indicate uninitialized, while refraining from reallocating the respective content allocated on said each respective source page whose status indicates that said respective source page is uninitialized. A corresponding computer program (503) and a computer program carrier (505) are also disclosed.