Dynamic Memory Reliability Configuration via Controller

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computing devices are limited by a fixed reliability scheme tied to their hardware configuration, which cannot be changed after deployment, making it difficult to adapt to varying memory error requirements across different processes, and reducing memory capacity due to error detection and correction techniques.

Innovation Solution

A memory controller that dynamically selects and implements different reliability schemes, such as ECC, parity, or data mirroring, on a per-process or per-page basis, decoupling the operating memory from the reliability scheme, allowing for flexible configuration and partitioning of memory regions with varying reliability levels.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional fixed reliability schemes are used, then hardware configuration is simple, but adaptability to different process requirements is poor

Engineering Contradiction:
Improveadaptability to varying memory error requirementsVSAvoidmemory controller complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic reliability schemes where the memory controller can change reliability configurations at runtime based on process requirements. The system transitions from static hardware-bound reliability to dynamic software-configurable reliability, allowing the same physical memory to serve different reliability needs through configuration changes rather than hardware modifications.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The memory controller is designed to support multiple reliability schemes (ECC, parity, mirroring, no protection) within a single device. This universal controller can adapt its behavior based on the requirements of different processes, making one hardware component serve multiple reliability functions that previously required different hardware configurations.

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

2Reliability

If error detection and correction techniques are applied to all memory, then reliability is improved, but memory capacity is reduced

Engineering Contradiction:
Improvememory reliabilityVSAvoidmemory capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies different reliability schemes to different memory regions or allocations based on the specific requirements of each process. Critical processes receive high-reliability schemes like ECC or mirroring, while non-critical processes use simpler schemes or no protection, optimizing the balance between reliability and capacity for each local memory usage scenario.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

Instead of applying full error protection to all memory, the system applies partial protection only where necessary. The memory controller can selectively enable reliability schemes for specific processes or memory regions, providing adequate protection for critical data while preserving maximum capacity for non-critical storage needs.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If strong error protection is applied, then memory reliability is improved, but memory utilization is reduced

Engineering Contradiction:
Improvememory reliabilityVSAvoidmemory utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system changes the reliability parameter dynamically based on process requirements. By adjusting the level of protection (from no protection to full ECC) according to the criticality of each process, the system optimizes both reliability and utilization, ensuring that memory resources are adequately protected when needed while remaining fully available when protection is unnecessary.

Inventive Principle:
Principle #35Parameter changes

4Adaptability or versatility

If hardware configuration determines reliability scheme, then device complexity is low, but flexibility after deployment is poor

Engineering Contradiction:
Improveflexibility to change reliability schemesVSAvoidmemory controller complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a software layer or configuration interface that mediates between the hardware memory controller and the reliability requirements of processes. This intermediary allows reliability schemes to be configured and changed without modifying hardware, enabling flexible adaptation while keeping the hardware controller's complexity manageable through standardized interfaces.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10031801B2Configurable reliability for memory devices
Publication Date: 2018.07.24 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10031801B2 patent drawing
  • US10031801B2 patent drawing
  • US10031801B2 patent drawing

AI summary

Technology relating to configurable reliability schemes for memory devices is disclosed. The technology includes a memory controller that selectively controls at least a type or an extent of a reliability scheme for at least a portion of a memory device. The technology also includes a computing device that can dynamically select and employ reliability schemes from a collection of different reliability schemes. A reliability scheme may be selected on a per-process, per-allocation request, per-page, per-cache-line, or other basis. The reliability schemes may include use of parity, use of data mirroring, use of an error correction code (ECC), storage of data without redundancy, etc.