Modulation Code Permutation Selection for Memory Charge Distribution
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
Data Source
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.


