Dynamic ECC Selection for Compressed Data in Memory Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing error correction coding schemes in non-volatile memory devices are channel-dependent, requiring reallocation of redundancy based on changing communication channel conditions, which can be inefficient and inflexible.

Innovation Solution

A method of encoding and decoding data using a selected error correction code (ECC) from a plurality of ECCs, where the ECC is chosen based on the size of the input data, allowing for dynamic adaptation independent of channel conditions, and utilizing a base code and sub-codes to provide varying error correction strengths while optimizing memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a fixed error correction code is used in memory devices, then the device structure is simple and easy to implement, but the device cannot adapt to changing channel conditions and reliability requirements over time

Engineering Contradiction:
Improveadaptability to channel conditionsVSAvoidECC selection mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic ECC selection by allowing the system to change the error correction code based on current channel conditions and reliability requirements. The memory device transitions from a static fixed-ECC architecture to a dynamic multi-ECC architecture where different ECC schemes can be selected and applied according to real-time needs, enabling adaptation to aging effects and varying operational conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameters of the error correction code (such as code rate, redundancy level, and correction strength) based on monitored channel conditions and reliability metrics. By adjusting these parameters dynamically, the system optimizes the balance between error correction capability and storage efficiency without requiring a complete redesign of the memory architecture.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If stronger error correction codes are used to improve data reliability, then error detection and correction capability increases, but memory space requirements and overhead increase

Engineering Contradiction:
Improvedata reliabilityVSAvoidmemory space for redundancy
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies different error correction strengths to different data regions or different operational conditions. Instead of uniformly applying strong ECC across all data and all conditions, the system selectively applies appropriate ECC strength based on local requirements such as data importance, channel conditions, and reliability needs, thereby optimizing the trade-off between reliability and storage capacity.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system applies error correction at appropriate levels rather than always using maximum strength. By monitoring channel conditions and applying only the necessary level of correction (partial action), the system avoids the excessive redundancy overhead that would result from always using the strongest possible ECC, thus maintaining efficiency while ensuring adequate reliability.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If redundancy allocation is dynamically adjusted based on channel conditions, then error correction effectiveness improves, but the complexity of monitoring and reallocation increases

Engineering Contradiction:
Improveerror correction effectivenessVSAvoidredundancy reallocation mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a feedback mechanism where the system continuously monitors channel conditions, error rates, and reliability metrics, then uses this information to dynamically adjust the error correction code selection and redundancy allocation. This closed-loop control enables the system to automatically adapt to changing conditions without requiring complex manual intervention or overly sophisticated reallocation algorithms.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9128859B1Method and apparatus for dynamically selecting an error correction code for encoding and decoding data in a communication system
Publication Date: 2015.09.08 MARVELL ASIA PTE LTD
  • US9128859B1 patent drawing
  • US9128859B1 patent drawing
  • US9128859B1 patent drawing

AI summary

Embodiments provide methods, apparatuses, and articles of manufacture that encode and decode data based on various error correction codes. In one embodiment, a method may include receiving input data, encoding the input data with an error correction code that is selected from a plurality of error correction codes based on the size of the input data, and writing the encoded input data to a memory device. The encoded data can be subsequently, retrieved and decoded when needed.