Clearing Poison Status on Volatile Memory Read Accesses
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


