Memory Controller Folding Using Valid Translational Unit Counts

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional memory systems face inefficiencies in performing garbage collection and folding operations due to the need to analyze and fold entire block stripes, consuming significant resources and time, especially when only portions of the block stripe contain valid data.

Innovation Solution

Implementing a memory controller that maintains a VTC table to track valid translational units within block stripes, allowing selective folding of only valid data portions, reducing the number of operations required.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional memory systems perform garbage collection and folding operations on entire block stripes, then all data portions are processed, but resource consumption and operation time increase significantly

Engineering Contradiction:
Improvedata validityVSAvoidoperation efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The block stripe is divided into multiple portions, and a validity table is maintained to track which portions contain valid data. The folding operation is segmented to process only those portions marked as valid, rather than processing the entire block stripe. This segmentation allows the system to maintain data validity assurance while significantly reducing the number of operations required.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of performing folding operations on the entire block stripe (excessive action), the system performs partial folding operations only on portions that contain valid data. The validity table enables the system to identify and process only the necessary portions, reducing wasted operations on invalid or empty data regions while ensuring all valid data is properly processed.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If memory systems process entire block stripes for folding operations, then completeness is ensured, but operation time and resource consumption increase

Engineering Contradiction:
Improvefolding completenessVSAvoidoperation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

A validity table is maintained in advance to track which portions of block stripes contain valid data. Before performing folding operations, the system consults this pre-prepared validity information to identify which portions need processing. This preliminary action of maintaining validity metadata eliminates the need to scan and analyze entire block stripes during folding operations, significantly reducing operation time while ensuring completeness.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If conventional systems analyze all portions of block stripes, then data accuracy is maintained, but resource consumption increases

Engineering Contradiction:
Improvedata validity detectionVSAvoidresource consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

A validity table serves as an intermediary data structure that stores information about which portions of block stripes contain valid data. Instead of directly analyzing all portions of block stripes during folding operations, the system first queries this intermediary validity table to identify relevant portions. This intermediary layer maintains data validity detection accuracy while reducing the computational resources required by eliminating unnecessary analysis of invalid portions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20260056883A1Folding data using valid translational unit values
Publication Date: 2026.02.26 MICRON TECHNOLOGY INC
  • US20260056883A1 patent drawing
  • US20260056883A1 patent drawing
  • US20260056883A1 patent drawing

AI summary

Aspects of the present disclosure configure a memory sub-system controller to fold data based on valid translational unit count (VTC) values in a memory sub-system. The controller receives a request to perform a folding operation on data stored in an individual block stripe of the set of memory components. The controller retrieves, from a VTC table, a plurality of VTC values corresponding to a plurality of portions of the individual block stripe. The controller compares a first VTC value of the plurality of VTC values associated with a first of the plurality of portions to a second VTC value of the plurality of VTC values associated with a second of the plurality of portions. The controller performs the folding operation on a subset of the plurality of portions based on a result of comparing the first VTC value to the second VTC value.