Dynamic Memory Mirroring for Partial Redundancy Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory mirroring techniques are cost-inefficient and reduce effective usable memory, as they provide full redundancy only in high-end systems, and do not effectively manage partial mirroring, leading to system instability when errors occur.

Innovation Solution

Implementing dynamic memory mirroring, where the operating system can create, remove, migrate, and replace memory mirrors on the fly, using ACPI methods to allocate only a portion of memory for mirroring, allowing for variable memory mirroring and efficient management of critical data, even in the absence of errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If full memory mirroring is implemented to improve system reliability, then data integrity is preserved, but effective usable memory is reduced to about half and power consumption is doubled

Engineering Contradiction:
Improvesystem reliabilityVSAvoideffective usable memory
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic memory mirroring where the operating system can create, remove, migrate, and replace memory mirrors on the fly. The mirroring configuration is not static but can be adjusted dynamically based on system needs, allowing the system to maintain reliability while optimizing memory usage. The OS can direct the final mirrored size and reconfigure mirrors without requiring full memory to be mirrored at all times.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent enables partial memory mirroring where only a portion of memory is mirrored rather than the entire memory range. The OS can create small memory mirrors of less than half the memory, allowing the system to gain reliability benefits for critical data while preserving more usable memory capacity for general purposes.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If full memory mirroring is implemented to ensure data integrity, then system availability is improved, but hardware cost increases significantly

Engineering Contradiction:
Improvesystem availabilityVSAvoidhardware cost
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent enables partial memory mirroring where only a portion of memory is mirrored rather than the entire memory range. The OS can create small memory mirrors of less than half the memory, allowing the system to gain reliability benefits for critical data while preserving more usable memory capacity for general purposes.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent allows the mirroring ratio and configuration to be changed as a parameter controlled by the operating system. This enables flexible adjustment of the mirroring level based on cost constraints and reliability requirements, allowing systems to be configured at different points along the cost-reliability spectrum rather than being forced into full or no mirroring.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If partial memory mirroring is implemented to reduce cost, then hardware expenditure is optimized, but system stability deteriorates when mirror breaks

Engineering Contradiction:
Improvehardware costVSAvoidsystem stability
Core Design Contradiction:
Ease of manufactureVSStability of the object's composition

Solution Approach 1:

The patent implements monitoring and management of memory mirror status by the operating system. When a mirror breaks due to uncorrectable errors, the system can detect this condition and respond by reconfiguring mirrors on subsequent power-on self-test (POST) or during operation. The OS can create new mirrors in different memory ranges, ensuring continuous stability even when individual mirrors fail.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary mirror reconfiguration during power-on self-test (POST) before the system enters normal operation. If a mirror is detected as broken, the system proactively reconfigures mirrors during POST, ensuring that the system starts in a stable, redundant state rather than entering operation with broken mirrors that could cause instability.

Inventive Principle:
Principle #10Preliminary action

4Device complexity

If static memory mirroring is implemented by system firmware, then implementation simplicity is maintained, but flexibility and adaptability are reduced

Engineering Contradiction:
Improveimplementation complexityVSAvoidmemory configuration flexibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic memory mirroring where the operating system can create, remove, migrate, and replace memory mirrors on the fly. The mirroring configuration is not static but can be adjusted dynamically based on system needs, allowing the system to maintain reliability while optimizing memory usage. The OS can direct the final mirrored size and reconfigure mirrors without requiring full memory to be mirrored at all times.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces the operating system as an intermediary layer between the hardware and the memory mirroring function. Rather than firmware directly controlling mirroring in a static manner, the OS acts as a mediator that can dynamically adjust mirror configuration, allocate memory ranges for mirroring, and respond to system conditions, thereby adding flexibility while maintaining manageable complexity through standardized OS interfaces.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8533526B2Performing redundant memory hopping
Publication Date: 2013.09.10 INTEL CORP
  • US8533526B2 patent drawing
  • US8533526B2 patent drawing
  • US8533526B2 patent drawing

AI summary

In one embodiment, the present invention includes a method for receiving an indication of a loss of redundancy with respect to a pair of mirrored memory regions of a partially redundant memory system, determining new mirrored memory regions, and dynamically migrating information stored in the original mirrored memory regions to the new mirrored memory regions. Other embodiments are described and claimed.