ECC Sub-Decoder Interleaving for Faster SSD Frame Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional non-volatile memory controllers with dedicated ECC decoders for each sub-code in SSDs operate inefficiently, as they decode frames sequentially, leading to prolonged data decoding times and underutilization of sub-decoders.

Innovation Solution

Implementing a system where ECC decoders are pooled and frames are interleaved and alternated between sub-decoders, allowing simultaneous decoding of multiple frames across different memory channels, thereby optimizing the use of sub-decoders and reducing overall decoding time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If dedicated ECC decoders are used for each sub-code in each memory channel, then data integrity and reliability are maintained, but decoding efficiency is reduced due to sequential operation and sub-decoder underutilization

Engineering Contradiction:
Improvedata integrityVSAvoiddecoding efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges dedicated ECC decoders into pooled sub-decoders that serve multiple memory channels. Instead of having separate decoders for each channel, sub-decoders are consolidated into shared pools that can service multiple channels, enabling better resource utilization while maintaining error correction capabilities across all channels.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements dynamic frame allocation where sub-decoders can switch between processing frames from different memory channels based on availability. When one sub-decoder finishes processing, it dynamically picks up new frames from the pool, creating a flexible, adaptive system that maximizes decoder utilization without compromising data integrity.

Inventive Principle:
Principle #15Dynamics

2Measurement precision

If frames are decoded sequentially by sub-decoders, then decoding accuracy is maintained, but total decoding time increases

Engineering Contradiction:
Improvedecoding accuracyVSAvoiddecoding time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent ensures continuous utilization of sub-decoders by maintaining a pool of frames ready for processing. When a sub-decoder completes processing one frame, it immediately transitions to the next available frame without idle time. This continuous operation eliminates gaps in the decoding process, reducing total decoding time while maintaining accuracy through systematic processing.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent prepares multiple frames in advance and organizes them in a pool before decoding begins. Frames are pre-processed and staged so that when sub-decoders become available, they can immediately begin work without waiting for frame preparation. This preliminary organization enables parallel processing and reduces overall decoding time.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If sub-decoders are pooled and frames are interleaved across channels, then decoding throughput increases, but system complexity increases

Engineering Contradiction:
Improvedecoding throughputVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the decoding system into distinct sub-decoder units that can independently process frames. By dividing the overall decoding function into separate, modular sub-decoders, the system can process multiple frames in parallel while maintaining manageable complexity through clear separation of processing units and their associated frame pools.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11394402B2Efficient decoding of n-dimensional error correction codes
Publication Date: 2022.07.19 KIOXIA CORP
  • US11394402B2 patent drawing
  • US11394402B2 patent drawing
  • US11394402B2 patent drawing

AI summary

Various implementations are directed to systems and methods for maintaining integrity and reliability of data in an SSD device using error correction coding. According to certain aspects, for frames of data having an ECC code with two or more sub-codes, while one sub-decoder is not in use it could be used to start a decode of another frame. By “interleaving” and alternating the frames between sub-decoders, two or more frames can be decoded simultaneously in an efficient manner. This can clearly be extended to more sub-codes (i.e. dimensions greater than two).