Adaptive LDPC Coding for Mixed Flash Memory Page Sizes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage systems face challenges in supporting multiple non-volatile memory page formats due to differences in internal formatting and memory page sizes from various manufacturers, leading to the need for multiple controllers and hardware configurations, which increases complexity and reduces versatility.

Innovation Solution

A storage system with a controller that determines a common memory page size and selects appropriate low-density parity-check (LDPC) code word lengths and coding parameters to adaptively code data, enabling support for multiple known or unknown memory page formats, and adjusts coding parameters as memory pages age or wear out to improve error correction capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple controllers and hardware configurations are used to support different memory page formats, then compatibility with various manufacturers' memory arrays is improved, but device complexity increases

Engineering Contradiction:
Improvecompatibility with various memory page formatsVSAvoidnumber of controllers and hardware configurations
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The controller is designed with a universal coding module that can adaptively code data for multiple non-volatile memory page formats using a single hardware configuration. The controller determines the common memory page size and selects appropriate LDPC code word lengths and coding parameters to support various memory array types from different manufacturers, eliminating the need for multiple specialized controllers.

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

Solution Approach 2:

The controller dynamically changes coding parameters including LDPC code word lengths, code rates, and parity data amounts based on the detected memory page size and endurance characteristics. This parameter adaptation allows a single controller to efficiently support multiple memory formats and conditions without requiring separate hardware for each format.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If fixed coding parameters are used for data coding, then decoding efficiency is maintained, but error correction capability deteriorates as memory ages and wears out

Engineering Contradiction:
Improveerror correction capabilityVSAvoidmemory endurance and data retention
Core Design Contradiction:
ReliabilityVSDuration of action of moving object

Solution Approach 1:

The coding parameters are made dynamic rather than fixed. The controller continuously monitors memory endurance and adjusts the amount of parity data and code rate accordingly. As memory ages and wears out, the controller increases parity data and adjusts coding parameters to maintain error correction capability, ensuring reliable data protection throughout the memory's operational lifetime.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback mechanisms where the controller monitors memory array performance and endurance, then uses this information to adjust coding parameters for subsequent data coding operations. This closed-loop approach ensures that error correction capability is continuously optimized based on actual memory condition, maintaining high reliability as memory ages.

Inventive Principle:
Principle #23Feedback

3Reliability

If adaptive coding parameters are used to improve error correction, then data retention is improved, but decoding complexity increases

Engineering Contradiction:
Improvedata retentionVSAvoidcoding and decoding process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The controller pre-determines and stores multiple sets of coding parameters corresponding to different memory page sizes and endurance levels. When data needs to be coded, the controller quickly selects the appropriate pre-configured parameter set based on the detected memory characteristics, avoiding complex real-time calculations during the coding process and maintaining decoding efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8972826B2Adaptive error correction codes for data storage systems
Publication Date: 2015.03.03 SANDISK TECHNOLOGIES LLC
  • US8972826B2 patent drawing
  • US8972826B2 patent drawing
  • US8972826B2 patent drawing

AI summary

A data storage system configured to adaptively code data is disclosed. In one embodiment, a data storage system controller determines a common memory page size, such as an E-page size, for a non-volatile memory array. Based on the common memory page size, the controller selects a low-density parity-check (LDPC) code word length from a plurality of pre-defined LDPC code word lengths. The controller determines LDPC coding parameters for coding data written to or read from the memory array based on the selected LDPC code word length. By using the plurality of pre-defined LDPC code word lengths, the data storage system can support multiple non-volatile memory page formats, including memory page formats in which the common memory page size does not equal any LDPC code word length of the plurality of pre-defined LDPC code word lengths. Flexibility and efficiency of data coding can thereby be achieved.