Adaptive ECC Gear Selection for Flash Memory Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional approaches to error management in MLC flash memories are inefficient in achieving low uncorrectable error rates, especially in enterprise storage environments, due to high write amplification and degradation of signal-to-noise ratio over time, leading to reduced reliability and lifespan of flash memory devices.

Innovation Solution

A three-dimensional turbo code system is implemented, comprising primary, secondary, and tertiary error correction codes that are partially orthogonal to each other, along with a journaling filing system to reduce write amplification and extend flash memory cell life, ensuring efficient error correction and data retrieval.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional BCH error correction codes are used with fixed strength, then the implementation is simple, but the uncorrectable error rate is high in enterprise storage environments

Engineering Contradiction:
Improveuncorrectable error rateVSAvoidECC code configuration
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic ECC code selection where the controller adapts the error correction strength based on real-time measurement of raw bit error rates in different flash memory regions. The system transitions from fixed ECC configuration to dynamic configuration, selecting from multiple predefined ECC schemes (Gear 1, Gear 2, Gear 3) depending on the measured error characteristics, thereby achieving low uncorrectable error rates while managing complexity through automated adaptation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of ECC code strength dynamically. By measuring raw bit error rates and comparing them against thresholds, the system adjusts the ECC scheme parameters (such as the number of parity bits and correction capability) to match the actual error conditions in different regions of the flash memory, optimizing the balance between reliability and storage capacity.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If stronger ECC codes are applied to all regions, then error correction capability is improved, but storage density and write amplification increase

Engineering Contradiction:
Improveerror correction capabilityVSAvoidstorage density
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies different ECC code strengths to different regions of the flash memory based on their individual error characteristics. By dividing the flash memory into multiple regions and measuring raw bit error rates locally, the system assigns appropriate ECC schemes (Gear 1 for low error regions, Gear 2 for moderate error regions, Gear 3 for high error regions) to each region, optimizing the balance between reliability and storage density across the entire device.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the flash memory into multiple regions that can be independently managed with different ECC schemes. This segmentation allows the system to apply stronger error correction only where needed (in regions with higher raw bit error rates) while using lighter ECC codes in regions with lower error rates, thereby maintaining high storage density while achieving the required reliability for enterprise applications.

Inventive Principle:
Principle #1Segmentation

3Duration of action of stationary object

If conventional fixed ECC schemes are used, then the device is simple to implement, but write amplification is high and flash memory life is reduced

Engineering Contradiction:
Improveflash memory lifeVSAvoidECC adaptation mechanism
Core Design Contradiction:
Duration of action of stationary objectVSDevice complexity

Solution Approach 1:

The patent implements a feedback mechanism where the controller continuously monitors raw bit error rates in flash memory regions and uses this information to adapt the ECC scheme selection. This feedback loop enables the system to respond to changing error conditions over time, adjusting ECC strength dynamically to minimize write amplification and extend flash memory life while managing the added complexity through automated control.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9183085B1Systems and methods for adaptively selecting from among a plurality of error correction coding schemes in a flash drive for robustness and low latency
Publication Date: 2015.11.10 POLARIS POWERLED TECHNOLOGIES LLC
  • US9183085B1 patent drawing
  • US9183085B1 patent drawing
  • US9183085B1 patent drawing

AI summary

Apparatus and methods provide relatively low uncorrectable bit error rates, low write amplification, long life, fast and efficient retrieval, and efficient storage density such that a solid-state drive (SSD) can be implemented using relatively inexpensive MLC Flash for an enterprise storage application. Predefined gears correspond to different predefined ECC schemes. Based on an observed bit error rate, a gear from a set of predefined gears is selected for use for a particular region of memory. Each gear of the set of predefined gears includes a lower-latency ECC decode option and one or more higher-latency ECC decode options.