Reliability-Based Memory Pool Management for Heterogeneous Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory pool management systems lack the ability to efficiently allocate memory resources based on the error tolerance of applications, often resulting in suboptimal utilization of high-reliability memory devices.

Innovation Solution

A method and system for memory pool management that involves a memory-pool manager determining the error tolerance of an application based on its memory request and allocating memory spaces from either high-reliability or lower-reliability memory modules accordingly, utilizing a heterogeneous memory pool with both ECC and non-ECC memory devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a homogeneous memory pool is used, then memory allocation is simple, but reliability cannot be optimized for different applications

Engineering Contradiction:
Improvememory reliabilityVSAvoidmemory pool complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The memory pool is segmented into heterogeneous memory devices with different reliability characteristics (ECC and non-ECC memory modules). The memory-pool manager divides the pool into distinct segments based on reliability levels, allowing each segment to be allocated to applications with corresponding error tolerance requirements. This segmentation enables optimized reliability matching without requiring complete system redesign.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different regions of the memory pool are assigned different quality levels (reliability characteristics). High-reliability ECC memory is allocated to applications requiring strict error tolerance, while lower-reliability non-ECC memory is allocated to applications with higher error tolerance. This local differentiation of quality allows the system to optimize overall reliability performance while managing complexity through targeted management strategies.

Inventive Principle:
Principle #3Local quality

2Reliability

If high-reliability memory is allocated to all applications, then reliability is maximized, but cost and resource utilization deteriorate

Engineering Contradiction:
Improveapplication reliabilityVSAvoidmemory resource utilization
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system changes the allocation parameter from uniform high-reliability memory to differentiated reliability-based allocation. The memory-pool manager evaluates application error tolerance parameters and adjusts memory allocation accordingly, assigning ECC memory only when required. This parameter change enables optimized resource utilization while maintaining appropriate reliability levels for each application.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system utilizes lower-cost non-ECC memory modules for applications that can tolerate higher error rates, reserving expensive ECC memory only for critical applications. This selective allocation strategy reduces overall system cost and improves resource utilization efficiency while maintaining adequate reliability for applications that require it.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Productivity

If memory allocation is based on error tolerance, then resource optimization is achieved, but allocation complexity increases

Engineering Contradiction:
Improvememory allocation efficiencyVSAvoidallocation management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory-pool manager autonomously evaluates application error tolerance parameters and automatically determines appropriate memory allocations without external intervention. The system self-manages the complexity of heterogeneous memory pool management by implementing built-in evaluation and allocation logic, reducing the need for manual configuration or external control mechanisms.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The memory-pool manager continuously monitors application error tolerance characteristics and adjusts allocations accordingly. Feedback mechanisms enable the system to learn from application behavior patterns and optimize memory allocation decisions over time, improving allocation efficiency while managing complexity through adaptive control rather than rigid predetermined rules.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20250077093A1Systems and methods for reliability-based memory pool management
Publication Date: 2025.03.06 SAMSUNG ELECTRONICS CO LTD
  • US20250077093A1 patent drawing
  • US20250077093A1 patent drawing
  • US20250077093A1 patent drawing

AI summary

Provided is a method for memory pool management, the method including receiving, by a memory-pool manager, a memory request from an application, the memory-pool manager being communicatively coupled to a memory pool including a first memory module, of a first type, and a second memory module, of a second type, the first type being different from the second type, determining, by the memory-pool manager, based on the memory request, an error tolerance associated with the application, and allocating a memory space from the first memory module or from the second memory module to the application based on the error tolerance.