Memory Controller ECC Access Using Shared Metadata

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Soft errors in data storage elements, such as those in next-generation memory devices, cause silent data corruption due to incident radiation, which is increasingly significant as feature sizes shrink, and conventional error mitigation techniques burden memory device performance by requiring storage of error correction codes, leading to inefficient memory utilization.

Innovation Solution

A memory controller calculates and stores a single metadata value common to multiple data blocks, generating error correction codes based on this metadata and the data blocks, allowing for efficient error detection and correction without the need for multiple error correction codes for each data block, thereby optimizing memory utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional error correction techniques are used to protect against soft errors, then data reliability is improved, but memory device performance deteriorates due to storage overhead

Engineering Contradiction:
Improvedata reliabilityVSAvoidmemory device performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent combines multiple error correction codes into a single consolidated error correction code. Instead of storing separate ECCs for each data block, the system generates one ECC that covers multiple data blocks, thereby reducing storage overhead while maintaining error protection capability across all blocks.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The single error correction code serves multiple functions by protecting multiple different data blocks simultaneously. This universal ECC can be used to detect and correct errors in any of the protected data blocks, eliminating the need for multiple specialized ECCs and improving memory utilization efficiency.

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

2Reliability

If error correction codes are stored for each data block, then error detection capability is improved, but memory utilization deteriorates

Engineering Contradiction:
Improveerror detection capabilityVSAvoidmemory utilization
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent merges multiple individual error correction codes into a single consolidated ECC structure. This consolidation reduces the total quantity of error correction data that must be stored in memory, thereby improving memory utilization while preserving the ability to detect and correct errors across all protected data blocks.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system transitions from a one-to-one mapping between data blocks and error correction codes to a one-to-many relationship. A single error correction code operates across multiple data blocks, changing the dimensional relationship and reducing the overall storage requirements for error correction information.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS9026888B2Method, system and apparatus for providing access to error correction information
Publication Date: 2015.05.05 SK HYNIX NAND PRODUCT SOLUTIONS CORP
  • US9026888B2 patent drawing
  • US9026888B2 patent drawing
  • US9026888B2 patent drawing

AI summary

Techniques and mechanisms to facilitate data error detection by a memory controller. In an embodiment, the memory controller calculates, for each of a plurality of data blocks, a respective result based on a first metadata value and data of that data block, where the first metadata value describes a characteristic which is common to each of the plurality of data blocks. With each such calculated result, the memory controller further performs a respective error detection analysis, wherein such analysis is based on a retrieved error correction code for a corresponding one of the plurality of data blocks. In another embodiment, a single version of the metadata value is stored by the memory controller, where the single version of the metadata value is made available to facilitate error detection for any of the plurality of data blocks.