Memory Sub-System Decoding With Early Codeword Termination

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional memory sub-systems face inefficiencies in decoding processes due to sequential decoding of entire codewords, leading to increased execution time and resource usage, as they often decode unnecessary data and fail to identify errors early in the process.

Innovation Solution

Implementing a polar decoder for early decoding termination, which validates each decoded host data sector using its corresponding check code and terminates the decoding process if errors are detected or if sufficient data is decoded to satisfy a request, thereby reducing unnecessary computation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If sequential decoding of entire codeword is used, then decoding completeness is ensured, but execution time and computational resource usage increase

Engineering Contradiction:
Improvedecoding execution timeVSAvoiddecoding completeness
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The codeword is divided into multiple data sectors, each with its own check code. The decoder processes and validates each sector independently rather than decoding the entire codeword sequentially, enabling early termination when errors are detected or sufficient data is decoded.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Check codes are pre-calculated and stored with each data sector. During decoding, these check codes are used to validate each sector immediately after decoding, allowing early error detection and termination before the entire codeword is processed.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If entire codeword is decoded, then all data is available, but computational resources are wasted on invalid or unnecessary data

Engineering Contradiction:
Improvedecoding efficiencyVSAvoidcomputational resource usage
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The decoder performs partial decoding by processing only the necessary number of data sectors required to satisfy the host request. Once sufficient valid data is decoded, the decoding process terminates early, avoiding unnecessary computation on remaining sectors.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

Each data sector contains its own check code that enables self-validation. The decoder can independently verify each sector without needing to decode the entire codeword, allowing early termination when validation fails or sufficient data is obtained.

Inventive Principle:
Principle #25Self-service

3Speed

If early termination is implemented, then latency is reduced, but risk of incomplete decoding increases

Engineering Contradiction:
Improvedata output speedVSAvoiddecoding accuracy
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system implements feedback through check code validation after each data sector is decoded. The decoder continuously monitors validation results and decides whether to continue or terminate decoding based on this feedback, ensuring reliability while enabling early termination when appropriate.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent replaces the traditional sequential mechanical decoding process with a validation-driven approach using check codes. This substitution allows the system to jump ahead or terminate early based on validation results rather than following a fixed sequential path.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS11632137B2Early decoding termination for a memory sub-system
Publication Date: 2023.04.18 MICRON TECHNOLOGY INC
  • US11632137B2 patent drawing
  • US11632137B2 patent drawing
  • US11632137B2 patent drawing

AI summary

A method includes receiving a request for host data, receiving a codeword that is associated with the host data, performing a decoding operation for a first portion of the codeword to generate a segment of decoded data, determining whether the segment of the decoded data satisfies the request for the host data, and in response to determining that the segment of the decoded data satisfies the request for the host data, terminating the decoding operation for remaining portions of the codeword.