Adaptive ECC Code-Rate Allocation for Wordline Noise in SSD Pages

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage devices, such as NAND flash memory, face variability in reliability and error rates among pages due to manufacturing and use characteristics, with current methods providing uniform protection levels across all pages in a block, which is inadequate as cell density increases.

Innovation Solution

Dynamically allocate code rates and redistribute overhead among pages within a block to provide varying levels of protection by clustering pages into different groups based on their characteristics and encoding data with additional overhead bits transferred between groups.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If uniform protection levels are applied to all pages in a block, then device complexity is reduced and ease of operation is improved, but reliability is insufficient for pages with varying error rates

Engineering Contradiction:
Improvedata integrityVSAvoidcomplexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments pages into different clusters based on their error characteristics. Pages are divided into first cluster pages (with first error characteristics) and second cluster pages (with second error characteristics), allowing different protection schemes to be applied to each cluster. This segmentation enables tailored error correction for each page type while maintaining manageable system complexity through systematic classification.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by providing different levels of protection to different pages based on their specific error characteristics. First cluster pages receive one type of protection while second cluster pages receive another type of protection. This localized approach ensures that each page receives appropriate error correction tailored to its specific reliability needs, improving overall data integrity without uniformly increasing complexity across all pages.

Inventive Principle:
Principle #3Local quality

2Reliability

If higher protection levels are applied to all pages, then reliability is improved, but overhead increases and productivity decreases

Engineering Contradiction:
Improveerror correctionVSAvoidstorage efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies partial action by providing enhanced protection only to pages that require it, rather than applying maximum protection uniformly to all pages. Second cluster pages (with higher error rates) receive additional overhead and stronger protection, while first cluster pages (with lower error rates) receive standard protection. This selective approach improves error correction for vulnerable pages without unnecessarily increasing overhead for already-reliable pages, thereby maintaining storage efficiency.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent changes the protection parameter (code rate, overhead allocation) based on the error characteristics of different page clusters. By dynamically adjusting protection levels according to measured error rates and page quality, the system optimizes the balance between reliability and storage efficiency. Pages with lower error rates use fewer overhead bits, while pages with higher error rates allocate more overhead, achieving optimal error correction without uniformly sacrificing productivity.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If dynamic code rate allocation is implemented for each page, then reliability and adaptability are improved, but device complexity and difficulty of operation increase

Engineering Contradiction:
Improveadaptive protectionVSAvoidcomplexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-calculating and pre-allocating code rates and overhead for different page clusters before actual data storage operations. The system performs initial error characterization of pages, clusters them into groups with similar characteristics, and assigns protection schemes in advance. This preliminary clustering and code rate allocation simplifies subsequent operations, as the complex adaptive decisions are made beforehand rather than in real-time during data access.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary layer (the clustering mechanism and control logic) that manages the complexity of dynamic code rate allocation. This intermediary systematically classifies pages into clusters and mediates between the varying error characteristics of individual pages and the uniform interface required by the storage system. By introducing this intermediary classification layer, the system achieves adaptive protection without requiring complex real-time decision-making for each page access.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP4657266B1Dynamic online code-rate allocation according to wordline noise for adaptive ECC in SSD/ufs
Publication Date: 2026.05.13 SAMSUNG ELECTRONICS CO LTD
  • EP4657266B1 patent drawingFigure 1
  • EP4657266B1 patent drawingFigure 2
  • EP4657266B1 patent drawingFigure 3

AI summary

A storage device, including: a non-volatile memory including a plurality of pages; and a storage controller: wherein the storage controller is configured to: allocate a plurality of code rates to the plurality of pages, cluster the plurality of pages into a first plurality of pages and a second plurality of pages based on the plurality of code rates, determine a plurality of page associations such that each second page from the second plurality of pages with at least one first page from the first plurality of pages, encode data based on the plurality of code rates to generate encoded data, wherein the encoding includes obtaining side information corresponding to the second plurality of pages and transferring the side information to the first plurality of pages, and store the encoded data in the plurality of pages.