ECC-Based Memory Read Recovery Under Unknown Data Polarity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Ferroelectric memory devices suffer from reliability degradation due to the imprint effect, where memory cells tend to prefer polarization states corresponding to stored data over time, and existing methods for mitigating this issue are costly in terms of hardware and power consumption.

Innovation Solution

A memory controller system that repeatedly inverts data stored in memory cells, using Error Correction Codes (ECC) to encode data in a way that parity bits behave differently under inversion, allowing the system to identify and recover the original polarity of read data through ECC decoding operations, thereby mitigating imprint effects without additional hardware or increased power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is stored in ferroelectric memory cells and refreshed periodically, then storage reliability is improved, but imprint effects cause polarization state preference leading to data errors

Engineering Contradiction:
Improvestorage reliabilityVSAvoidimprint effect
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies inversion by storing both the original data and its inverted complement in separate memory cell groups. When reading, both versions are retrieved and compared to identify the correct polarity state, effectively counteracting the imprint effect's preference for specific polarization states.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The memory array is segmented into multiple groups of memory cells, with at least one group storing inverted complement data. This segmentation allows the system to handle different polarity states independently and select the correct interpretation based on read results.

Inventive Principle:
Principle #1Segmentation

2Reliability

If complementary data path is added to mitigate imprint effects, then reliability is improved, but hardware complexity and power consumption increase

Engineering Contradiction:
Improvestorage reliabilityVSAvoidhardware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the mitigation of imprint effects with the existing ECC decoding infrastructure. By using the same decoding logic to interpret both original and inverted data versions, the system avoids adding separate complex hardware paths while still achieving reliability improvement.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system uses its own existing resources (ECC decoders, read paths) to solve the imprint problem. The memory controller performs self-diagnosis by comparing read results from different cell groups and automatically selects the correct data interpretation without external intervention.

Inventive Principle:
Principle #25Self-service

3Use of energy by moving object

If data polarity is not explicitly indicated, then power consumption is reduced, but the system must perform additional operations to identify actual polarity

Engineering Contradiction:
Improvepower consumptionVSAvoidrefreshing cycle speed
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The patent performs partial additional operations by first attempting to decode data from one cell group, and only if that fails, attempting decoding from the inverted complement group. This selective approach reduces the average number of operations compared to always checking both groups.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10475524B2Recovery of data read from memory with unknown polarity
Publication Date: 2019.11.12 APPLE INC
  • US10475524B2 patent drawing
  • US10475524B2 patent drawing
  • US10475524B2 patent drawing

AI summary

A memory controller includes an interface and circuitry. The interface is configured to communicate with a memory device, which includes multiple memory cells, and which applies refreshing to the memory cells by repeatedly inverting data stored in the memory cells. The circuitry is configured to store input data in a group of the memory cells, to read the stored input data from the group of the memory cells to produce read data, the read data has an actual polarity that is either un-inverted or inverted due to the refreshing of the memory cells in the group, to analyze the read data for identifying the actual polarity of the read data, and to recover the input data from the read data based on the identified actual polarity.