ML ECC Controller Switching Between Hard and Soft NAND Decoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Error-correcting codes used in universal flash storage and solid-state drives, such as Reed-Solomon and low-density parity check codes, are mismatched for flash memory controllers with NAND flash memory, leading to inefficiencies in error detection and correction.
Innovation Solution
A memory controller that incorporates a hard-decision error-correcting code decoder, a soft-decision error-correcting code decoder, and a machine-learning equalizer to dynamically select the best decoding approach based on a learned cost function, optimizing performance for NAND flash memory through a combination of hard-decision and soft-decision decoding.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional error-correcting codes (Reed-Solomon, LDPC) are used in flash memory controllers, then error detection and correction capability is provided, but performance is suboptimal for NAND flash memory without substantial DRAM
Solution Approach 1:
The system dynamically switches between hard-decision and soft-decision decoding modes based on the specific data word being processed. The machine-learning equalizer analyzes characteristics of each data word and selects the appropriate decoding approach in real-time, allowing the system to adapt its error correction strategy to match the actual error patterns and reliability requirements of different data segments.
Solution Approach 2:
The patent changes the operational parameters of the ECC decoder by implementing both hard-decision and soft-decision decoding capabilities. The machine-learning model adjusts parameters such as the probability of reliability measure and selects different decoding algorithms based on learned cost functions, optimizing the balance between error correction effectiveness and processing speed for NAND flash memory.
2Measurement precision
If soft-decision ECC decoding is used with probability of reliability measure, then error correction accuracy is improved, but computational complexity and processing time increase
Solution Approach 1:
The system applies soft-decision decoding selectively rather than universally. The machine-learning equalizer identifies data words that benefit most from soft-decision decoding and directs those resources accordingly, while using faster hard-decision decoding for data words where it suffices. This partial application of the more complex decoding method reduces overall processing time while maintaining high accuracy for critical data.
Solution Approach 2:
The machine-learning equalizer uses feedback from the cost function to continuously optimize the selection between hard-decision and soft-decision decoding. The system learns from past decoding outcomes and adjusts its strategy to minimize processing time while maintaining error correction accuracy, creating a closed-loop control system that adapts to varying data characteristics.
3Device complexity
If a single ECC decoding method is used, then device complexity is reduced, but adaptability to different error patterns and performance requirements is limited
Solution Approach 1:
The patent implements a universal ECC decoding architecture that can perform both hard-decision and soft-decision decoding through the same physical hardware. The machine-learning equalizer acts as a controller that directs the universal decoder to apply the appropriate decoding method based on the specific requirements of each data word, eliminating the need for separate dedicated decoder circuits for each method.
Solution Approach 2:
The machine-learning equalizer serves as an intermediary between the data input and the ECC decoder. It analyzes the characteristics of incoming data words, determines the optimal decoding approach, and controls the selection between hard-decision and soft-decision decoding paths. This intermediary layer provides adaptability without requiring complex modifications to the underlying decoder structure.
Data Source
AI summary
A machine-learning (ML) error-correcting code (ECC) controller may include a hard-decision (HD) ECC decoder optimized for high-speed data throughput, a soft-decision (SD) ECC decoder optimized for high-correctability data throughput, and a machine-learning equalizer (MLE) configured to variably select one of the HD ECC decoder or the SD ECC decoder for data throughput. An embodiment of the ML ECC controller may provide speed-optimized HD throughput based on a linear ECC. The linear ECC may be a soft Hamming permutation code (SHPC).


