Flash Drive Page Stripes with Turbo Code ECC

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 coding is used in MLC flash memory, then the implementation is simple and cost-effective, but the uncorrectable error rate is too high for enterprise storage environments

Engineering Contradiction:
Improveuncorrectable error rateVSAvoidECC scheme complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent divides the error correction task into multiple independent codewords within a page stripe. Instead of using a single complex ECC code, the data page is segmented into multiple smaller codewords, each protected by its own ECC instance. This segmentation allows the system to achieve higher overall reliability through diversity while keeping individual ECC implementations simple and manageable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from conventional single-dimension ECC protection to a multi-dimensional error correction architecture. By organizing multiple codewords in a page stripe with independent ECC protection, the system adds a dimensional aspect to error correction that enables enterprise-grade reliability (1E-16 uncorrectable error rate) without requiring a single overly complex ECC scheme.

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

2Ease of manufacture

If MLC flash memory is used to reduce cost, then the storage density and price are improved, but the program/erase cycle lifetime is significantly reduced compared to SLC

Engineering Contradiction:
Improvecost effectivenessVSAvoidprogram/erase cycle lifetime
Core Design Contradiction:
Ease of manufactureVSDuration of action of stationary object

Solution Approach 1:

The patent applies beforehand cushioning by implementing multiple independent ECC codewords across page stripes before errors can accumulate and cause failures. This proactive error protection cushion allows MLC flash to withstand more program/erase cycles by correcting errors that occur during normal operation, thereby extending the effective lifetime of the cheaper MLC memory while maintaining enterprise reliability requirements.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Duration of action of moving object

If the signal-to-noise ratio degrades over time in flash memory, then error rates increase, but the flash memory device continues to be used beyond manufacturer specifications

Engineering Contradiction:
Improveoperational lifespanVSAvoidsignal-to-noise ratio
Core Design Contradiction:
Duration of action of moving objectVSReliability

Solution Approach 1:

The patent ensures continuity of useful action by implementing ongoing error correction across multiple page stripes with independent ECC codewords. As the flash memory operates beyond manufacturer specifications and signal-to-noise ratio degrades, the continuous error correction capability across multiple codewords maintains data integrity, allowing the device to remain reliable beyond the originally guaranteed operational lifespan.

Inventive Principle:
Principle #20Continuity of useful action

4Productivity

If write amplification is high in flash memory operations, then more program/erase cycles are performed, but this accelerates memory degradation and reduces lifespan

Engineering Contradiction:
Improvewrite throughputVSAvoidmemory lifespan
Core Design Contradiction:
ProductivityVSDuration of action of stationary object

Solution Approach 1:

The patent segments data into multiple page stripes with independent ECC protection, allowing for more efficient write operations. By organizing data across multiple smaller units rather than requiring large block erases, the system reduces write amplification and the associated program/erase cycles, thereby extending memory lifespan while maintaining productivity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9176812B1Systems and methods for storing data in page stripes of a flash drive
Publication Date: 2015.11.03 IP GEM GRP LLC
  • US9176812B1 patent drawing
  • US9176812B1 patent drawing
  • US9176812B1 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. Data is stored in page stripes. The page stripes can have varying amounts of payload capacity based on selected error correction code strength. Allocation blocks can be divided into journaling cells, correspond to minimum units of data for which a journaling engine or flash translation layer has a logical-to-physical mapping.