Clearing Poison Status on Volatile Memory Read Accesses

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In memory architectures, poison states set for volatile data in non-volatile memory regions are not effectively cleared after a system reset, leading to regions appearing corrupted when they are actually usable.

Innovation Solution

Implementing a method where a known data pattern is written to memory regions during write operations, and this pattern is incremented on each power cycle, allowing the memory controller to differentiate between actual data corruption and reset conditions, thereby clearing or maintaining the poison state accordingly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If poison state is set in metadata for corrupted volatile memory regions, then data corruption is detected and prevented from being used, but the poison state cannot be cleared after system reset when stored in non-volatile memory, leading to false corruption indications

Engineering Contradiction:
Improvepoison state detection accuracyVSAvoidpoison state information persistence
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent segments the memory system into volatile memory regions (where data is lost on reset) and non-volatile metadata regions (where poison state information is preserved). By separating the data storage and metadata storage, the system can detect corruption reliably while allowing the volatile data to be naturally cleared on reset, enabling poison state clearance for volatile regions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism (the memory controller's poison state management logic) that mediates between the persistent metadata and the volatile memory regions. This intermediary can determine whether a memory region is volatile or non-volatile and selectively clear or maintain poison states based on that classification, resolving the contradiction between persistent detection and clearable state.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If poison state is maintained persistently in non-volatile memory, then corruption detection is reliable across power cycles, but usable memory regions appear corrupted after system reset, reducing memory availability

Engineering Contradiction:
Improvecorruption detection reliabilityVSAvoidmemory availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies different poison state management policies to different memory regions based on their volatility characteristics. Volatile memory regions have their poison states cleared on reset (local policy for volatile regions), while non-volatile memory regions maintain their poison states (local policy for non-volatile regions). This localized quality approach ensures both reliability and availability.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent introduces dynamic poison state management where the poison state persistence is not fixed but changes based on the memory region's volatility and the system's power cycle history. The memory controller dynamically determines whether to clear or maintain poison states based on runtime conditions, making the system adaptive rather than static.

Inventive Principle:
Principle #15Dynamics

3Object-generated harmful factors

If volatile memory is used for data storage, then data is automatically lost on power removal clearing corruption, but poison state in metadata remains set causing false corruption indications

Engineering Contradiction:
Improvedata corruption automatic clearanceVSAvoidpoison state metadata persistence
Core Design Contradiction:
Object-generated harmful factorsVSLoss of information

Solution Approach 1:

The patent extracts the poison state management from a uniform persistent model and separates it based on memory region characteristics. By taking out the volatile memory regions from the persistent poison state model and applying a different management approach, the system allows automatic corruption clearance through volatile data loss while preventing false indications through selective poison state clearance.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9817738B2Clearing poison status on read accesses to volatile memory regions allocated in non-volatile memory
Publication Date: 2017.11.14 INTEL CORP
  • US9817738B2 patent drawing
  • US9817738B2 patent drawing
  • US9817738B2 patent drawing

AI summary

Systems and methods may provide for detecting that a read operation is directed to a memory region while the memory region is in a poisoned state and clearing the poisoned state if volatile data stored in the memory region does not correspond to a known data pattern. Additionally, the memory region may be maintained in the poisoned state if the volatile data stored in the memory region corresponds to the known data pattern. In one example, an error may be detected, wherein the error is associated with a write operation directed to the memory region. In such a case, the poisoned state may be set for the volatile data in response to the error and the known data pattern may be written to the memory region.