Dynamic ECC Adjustment in Solid-State Storage Subsystems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Solid-state storage subsystems face a challenge in balancing the need for increased error correction codes (ECC) with performance demands, as higher ECC levels decrease performance and require additional storage space.

Innovation Solution

A solid-state storage subsystem that automatically adjusts the ECC level based on monitored conditions such as temperature, power signal stability, ECC error rate, wear level, vibration, and voltage, allowing for dynamic selection of ECC levels to enhance data protection when errors are likely, and storing ECC metadata for later use.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the quantity of ECC bits stored per unit of data is increased, then the ability to detect and correct errors is improved, but the performance of the storage subsystem decreases

Engineering Contradiction:
Improveerror detection and correction abilityVSAvoidstorage subsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic adjustment of ECC levels based on monitored operating conditions. The system transitions from static ECC configuration to dynamic adaptation, selecting different ECC levels (e.g., Level 1 with 4 ECC bytes vs. Level 2 with 8 ECC bytes) based on real-time conditions such as temperature, power stability, and error rates, thereby optimizing the balance between reliability and performance

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of ECC bit quantity based on operating conditions. By monitoring parameters like temperature, power stability, and error rates, the system adjusts the ECC level parameter dynamically, using higher ECC levels when conditions indicate increased error risk and lower ECC levels when conditions are favorable, thus resolving the contradiction between error correction capability and performance

Inventive Principle:
Principle #35Parameter changes

2Reliability

If the quantity of ECC data is increased, then the error correction capability is improved, but additional off-sector storage space is required

Engineering Contradiction:
Improveerror correction capabilityVSAvoidstorage space
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies dynamic adjustment of ECC data quantity based on monitored conditions. Instead of allocating fixed off-sector storage space for maximum ECC capability, the system dynamically determines the appropriate ECC level and allocates storage space accordingly, using more ECC space only when conditions warrant increased protection

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of ECC data quantity and storage space allocation based on operating conditions. By adjusting the ECC level parameter dynamically, the system optimizes the ratio of ECC data to user data, ensuring adequate error protection while minimizing the overhead storage requirement

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP2198430B1Storage subsystem capable of adjusting ECC settings based on monitored conditions
Publication Date: 2013.06.19 SILICON SYSTEMS INC
  • EP2198430B1 patent drawingFigure 1
  • EP2198430B1 patent drawingFigure 2
  • EP2198430B1 patent drawingFigure 3

AI summary

A storage subsystem (1 12) monitors one or more conditions related to the probability of a data error occurring. Based on the monitored condition or conditions, the storage subsystem adjusts an error correction setting, and thus the quantity of ECC data (121) used to protect data received from a host system. To enable blocks of data to be properly checked when read from memory, the storage subsystem stores ECC metadata indicating the particular error correction setting used to store particular blocks of data. The storage subsystem may be in the form of a solid-state non- volatile memory card or drive that attaches to the host system.