Adaptive LDPC Coding for Mixed Flash Memory Page Sizes
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Reliability
If adaptive coding parameters are used to improve error correction, then data retention is improved, but decoding complexity increases
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.
Data Source
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.


