Modulation Code Permutation Selection for Memory Charge Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Selecting a modulation code to achieve a desired distribution of charge levels in memory cells is resource-intensive and can impact memory device performance, including host latency, due to the need for margins of error and additional wear on the memory device.

Innovation Solution

The system selects and applies a modulation code to data that causes the data to be written at a desired distribution of charge levels in memory cells by processing logic that chooses one or more permutations based on a cost metric associated with logical levels, resulting in non-uniform distributions of charge levels.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If a modulation code is selected to achieve a desired distribution of charge levels in memory cells, then the charge level distribution is improved, but resource intensity and host latency increase

Engineering Contradiction:
Improvecharge level distributionVSAvoidhost latency
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The system pre-calculates and stores modulation codes with their corresponding charge level distributions in a lookup table before actual data writing occurs. During data writing, the system simply retrieves the appropriate modulation code from the table based on the desired charge level distribution, eliminating the need for real-time complex calculations and thus reducing host latency while maintaining precise charge level distribution control

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes the parameter of modulation code selection based on the desired charge level distribution characteristics. By selecting different modulation codes from a predefined set that correspond to different charge level distributions, the system can achieve various distribution patterns without performing resource-intensive calculations, thereby balancing precision requirements with performance constraints

Inventive Principle:
Principle #35Parameter changes

2Manufacturing precision

If a modulation code is selected to achieve a desired distribution of charge levels in memory cells, then the charge level distribution is improved, but additional wear on the memory device increases

Engineering Contradiction:
Improvecharge level distributionVSAvoidmemory device endurance
Core Design Contradiction:
Manufacturing precisionVSReliability

Solution Approach 1:

The system selects modulation codes that achieve the desired charge level distribution with minimal impact on memory cell wear. By having predefined modulation codes with different characteristics, the system can choose codes that provide the required distribution precision while distributing write operations more evenly across memory cells, thereby reducing cumulative wear and improving device endurance

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system uses a lookup table that stores pre-computed modulation codes and their corresponding charge level distributions as copies of optimal solutions. This allows the system to retrieve and apply proven modulation strategies without repeatedly performing complex optimization calculations, reducing the computational burden and minimizing the risk of selection errors that could lead to excessive wear

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20250103238A1Modulation code permutation selection for data modulation in memory systems
Publication Date: 2025.03.27 MICRON TECHNOLOGY INC
  • US20250103238A1 patent drawing
  • US20250103238A1 patent drawing
  • US20250103238A1 patent drawing

AI summary

Described are systems and methods for selecting a modulation code permutation for data modulation in a memory system. An example memory sub-system comprises a controller managing one or more memory devices. The controller is configured to perform operations including: receiving data to be written to the memory device; selecting, from a set of modulation code permutations for modifying data to be written to the memory device, a modulation code permutation; determining that a cost metric value corresponding to storing data modified by the modulation code permutation on the memory device satisfies a target condition; generating, using the modulation code permutation, modulated data from the data to be written; and storing, on the memory device, the modulated data.