Storage-Aware Memory Controller for Adaptive Fault Tolerance
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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
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.
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.
Data Source
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.


