Nonvolatile Memory Read Decoding Across Varying Communication Paths
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current memory systems face challenges in improving error correction capabilities, particularly in adapting to varying communication paths and noise conditions during data read operations, which affects decoding accuracy and efficiency.
Innovation Solution
A memory system that includes a nonvolatile memory and a memory controller, which calculates likelihood information using an LLR table and dynamically determines decoding parameters based on the communication path, employing soft-decision decoding methods like ordered statistics decoding and Chase decoding to enhance error correction capabilities without increasing computational complexity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If soft-decision decoding methods are used to improve error correction capability, then decoding accuracy is improved, but computational complexity increases
Solution Approach 1:
The patent applies dynamics by making the decoding process adaptive through iterative refinement. The soft-decision decoding is performed multiple times with progressively refined LLR values, where each iteration uses feedback from previous decoding attempts to improve accuracy. This dynamic approach allows the system to achieve high decoding accuracy while controlling computational complexity by stopping early when sufficient accuracy is reached.
Solution Approach 2:
The patent changes parameters by dynamically adjusting LLR (log-likelihood ratio) values during the decoding process. The system refines LLR parameters through iterative calculations, modifying them based on decoding performance and communication channel conditions. This parameter refinement allows accurate soft-decision decoding without requiring excessively complex fixed-parameter algorithms.
2Measurement precision
If LLR table is used to calculate likelihood information, then decoding performance is improved, but memory requirements and computational overhead increase
Solution Approach 1:
The patent segments the LLR table into multiple smaller sub-tables organized by different criteria (e.g., by channel conditions, by data patterns). This segmentation allows the system to load only relevant portions of the LLR table based on current decoding needs, reducing memory footprint while maintaining decoding performance. The segmented tables can be selectively accessed rather than loading the entire large table.
Solution Approach 2:
The patent performs preliminary actions by pre-calculating and storing LLR values in organized tables during system initialization or idle periods. This preliminary computation allows the main decoding process to simply lookup pre-computed values rather than performing complex real-time calculations, reducing both memory requirements (by storing only essential pre-computed data) and computational overhead during actual decoding operations.
3Reliability
If error correction coding is applied to all data, then data reliability is improved, but processing time and computational resources increase
Solution Approach 1:
The patent applies partial action by performing error correction decoding selectively rather than uniformly on all data. The system uses soft-decision decoding with LLR tables primarily for data that exhibits signs of corruption or falls into high-risk categories, while using simpler decoding methods for clearly intact data. This partial application of complex error correction maintains data reliability for problematic data while preserving processing speed for the majority of data that doesn't require intensive correction.
Data Source
AI summary
A memory system includes a nonvolatile memory and a memory controller. The nonvolatile memory has data encoded with an error correction code stored therein. The memory controller reads data from the nonvolatile memory, calculates likelihood information from the read data and an LLR table for calculating the likelihood information, determines a parameter for a decoding process of the read data based on the likelihood information, executes the decoding process based on the determined parameter, and outputs a decoding result obtained by the decoding process.


