Storage-Aware Memory Controller for Adaptive Fault Tolerance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In-memory data storage systems face significant cost issues due to high memory resource and computation costs, particularly in large-scale parallel processing platforms, where memory resource conflicts arise between the application layer and the underlying in-memory data storage layer, and current error correction mechanisms are inadequate for emerging memory technologies.

Innovation Solution

A storage-aware memory controller that differentiates between memory and storage regions, applying fine-grained and coarse-grained error protection schemes respectively, and uses a mapping table to manage logical addresses, optimizing memory usage and reducing redundancy overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If fine-grained memory fault tolerance (ECC) is applied to entire memory to protect against soft errors, then reliability is improved, but memory resource cost increases due to higher redundancy overhead

Engineering Contradiction:
Improvememory fault toleranceVSAvoidmemory capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The memory space is segmented into two distinct regions: memory region (for active computation) and storage region (for persistent storage). Different fault tolerance schemes are applied to each region based on their specific requirements, avoiding uniform application of fine-grained ECC across all memory.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different parts of the memory system receive different levels of protection tailored to their specific needs. The memory region receives fine-grained ECC protection for high reliability, while the storage region uses coarse-grained fault tolerance with lower redundancy, optimizing the balance between reliability and resource utilization.

Inventive Principle:
Principle #3Local quality

2Quantity of substance

If in-memory data storage holds data in storage-oriented format (JSON, Parquet, ORC) instead of in-memory objects, then memory resource cost is reduced, but computation cost increases due to data format conversion

Engineering Contradiction:
Improvememory capacityVSAvoidcomputation cost
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

The system segments data representation into two formats: in-memory objects for active computation and storage-oriented formats (JSON, Parquet, ORC) for persistent storage. This allows each format to be used where it is most effective, reducing the need for continuous format conversion.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary layer that manages data format conversion between in-memory objects and storage-oriented formats. This intermediary handles the conversion efficiently and caches results, reducing the computational overhead of repeated conversions between the application layer and storage layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Quantity of substance

If data compression is applied to reduce memory capacity overhead of in-memory data storage, then memory resource cost is reduced, but computation cost increases due to compression operations

Engineering Contradiction:
Improvememory capacityVSAvoidcomputation cost
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

Compression is selectively applied only to the storage region where data is stored in storage-oriented formats, while the memory region maintains uncompressed data for fast access. This segmentation ensures compression benefits are realized without impacting the performance-critical memory access paths.

Inventive Principle:
Principle #1Segmentation

4Productivity

If memory capacity is increased to accommodate in-memory data storage, then productivity is improved, but memory resource cost increases due to resource confliction between application layer and storage layer

Engineering Contradiction:
Improvedata processing speedVSAvoidmemory capacity
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The memory space is segmented into memory region and storage region, allowing the system to utilize existing memory capacity more efficiently. The storage region can be paged to disk when capacity is constrained, enabling the system to achieve in-memory storage benefits without proportionally increasing physical memory capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts the size and allocation of memory region versus storage region based on workload characteristics and available memory capacity. This parameter adjustment allows the system to optimize between productivity and memory resource cost depending on current system conditions.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10534664B2In-memory data storage with adaptive memory fault tolerance
Publication Date: 2020.01.14 SCALEFLUX
  • US10534664B2 patent drawing
  • US10534664B2 patent drawing
  • US10534664B2 patent drawing

AI summary

A storage aware memory controller for managing a physical storage system. A described controller: a system for mapping physical memory space into a memory region and a storage region; a system for applying different error protections schemes, in which a fine-grained memory fault tolerance scheme is applied to data in the memory region and a course-grained memory fault tolerance scheme is applied to data in the storage region; and a storage file system that includes a mapping table for mapping logical addresses to physical addresses for data stored in the storage region.