Memory Controller Poison Propagation Without Spare Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory controller systems face challenges in differentiating between errors caused by memory faults and poisoned write data, especially when spare storage is not available, leading to difficulties in invalidating memory content and accurately reporting errors to the host.

Innovation Solution

The method involves converting write data with a poison flag into a pre-fixed data pattern, generating a parity code, injecting a correctable error, and writing it into memory, allowing for error correction and differentiation between memory faults and poisoned data during read operations by comparing the data and parity code with a known pattern.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If poison information is stored in spare storage, then error differentiation is improved, but storage resource consumption increases

Engineering Contradiction:
Improveerror differentiation accuracyVSAvoidspare storage usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts the poison information indication from separate spare storage and embeds it within the data structure itself by using a specific data pattern (e.g., all zeros or all ones) to represent poisoned data, thereby eliminating the need for additional storage resources while maintaining error differentiation capability

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The data pattern serves multiple functions: it acts as both the stored data representation and the poison information indicator. By using a predetermined recognizable pattern to signify poisoned data, the system achieves multi-functionality without requiring dedicated storage space for poison flags

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

2Reliability

If data is invalidated to prevent poison propagation, then error containment is improved, but data accessibility deteriorates

Engineering Contradiction:
Improveerror containmentVSAvoiddata accessibility
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system performs preliminary detection during the write operation by recognizing the predetermined data pattern and setting the poison flag before the data is actually read. This allows the system to prepare error handling in advance, enabling selective invalidation only when needed rather than universally invalidating all data

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The poison flag provides feedback information that travels with the data through the storage system. This feedback mechanism allows downstream components to make informed decisions about data validity and accessibility, enabling selective handling rather than blanket invalidation

Inventive Principle:
Principle #23Feedback

3Reliability

If poison flag is added to track erroneous data, then error tracking is improved, but device complexity increases

Engineering Contradiction:
Improveerror tracking accuracyVSAvoiddata structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the poison information indicator with the existing data structure by using a predetermined data pattern that is inherently part of the data representation. This integration approach combines error tracking functionality with the data storage structure itself, avoiding the need for separate parallel tracking structures and reducing overall system complexity

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11960351B1System and method for poison information propagation in a storage device
Publication Date: 2024.04.16 CADENCE DESIGN SYST INC
  • US11960351B1 patent drawing
  • US11960351B1 patent drawing
  • US11960351B1 patent drawing

AI summary

Systems and methods for propagating poison information are provided. Embodiments include receiving write data having a poison flag asserted indicating the data to be written to a memory device is erroneous. Embodiments further include converting the write data to a pre-fixed data pattern and generating a parity code, based upon, at least in part, the pre-fixed data pattern. Embodiments may also include injecting a correctable error into the write-data or parity code and writing the write data and parity code into the memory device. The correctable error injection may occur in the data or in the parity code and during the read the comparison may occur accordingly.