Memory Data Randomizer for Multi-Level Cell Read Margin Improvement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
As memory cells in multi-level flash memory devices are programmed to represent increasing levels of data states, the narrow margins between threshold voltage ranges lead to difficulties in accurately determining the data state of a memory cell, resulting in potential read errors due to thermal stress and coupling effects between neighboring cells.
Innovation Solution
The implementation of a data randomizer that selectively encodes and decodes data during programming and reading operations, allowing for reversible data redistribution, which mitigates coupling effects and improves read margins by enabling selective operation modes that prioritize data accuracy without disabling the data randomizer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If memory cells are programmed to represent increasing levels of data states to increase memory density, then memory density is improved, but the margins between threshold voltage ranges become narrow leading to read errors
Solution Approach 1:
The data randomizer performs preliminary encoding of data before programming to memory cells. By randomizing the data pattern in advance, the system prevents harmful coupling effects between neighboring cells that would otherwise occur during programming and reading operations. This preliminary action ensures that even as memory density increases with more data states, the read accuracy is maintained because the randomized pattern avoids consecutive identical states that cause coupling interference.
Solution Approach 2:
The system changes the data pattern parameter by applying randomization encoding to the data before storage. This parameter transformation converts sequential or predictable data patterns into randomized patterns, which fundamentally alters how data is stored and retrieved. The parameter change enables the system to maintain adequate voltage margins between data states even when increasing the number of data states per cell, because the randomized pattern distribution prevents cumulative coupling effects.
2Measurement precision
If a data randomizer is enabled to mitigate coupling effects and improve read margins, then read accuracy is improved, but data redistribution complexity increases
Solution Approach 1:
The data randomizer is designed to perform multiple functions: it encodes data during programming operations, decodes data during reading operations, and can be selectively enabled or disabled based on operational mode. This multi-functionality allows the same hardware circuit to handle both the randomization and de-randomization processes, reducing the need for separate dedicated circuits and thereby minimizing the increase in device complexity while still achieving improved read accuracy.
Solution Approach 2:
The data randomizer is implemented as a dynamic component that can change its operational state. The controller can selectively enable or disable the data randomizer based on whether programming or reading operations are being performed, or based on the specific operational mode required. This dynamic operation allows the system to adapt to different requirements, enabling the randomizer only when needed to improve read accuracy while avoiding unnecessary complexity during operations where it is not required.
3Ease of manufacture
If data is programmed sequentially (LSB first, then MP, then UP) in eight-level MLC, then programming simplicity is maintained, but read margins deteriorate due to coupling effects
Solution Approach 1:
The data randomizer applies preliminary encoding to the data before it is programmed to memory cells, regardless of the programming sequence (LSB, MP, or UP). This preliminary randomization action ensures that the data pattern entering the memory cells is randomized, which prevents coupling effects between neighboring cells during the sequential programming process. The simplicity of sequential programming is maintained while the preliminary randomization action protects against read margin deterioration.
Solution Approach 2:
The data randomizer acts as an intermediary between the data source and the memory cells. It receives the original data, applies randomization encoding, and outputs the randomized data for programming. This intermediary function transforms the data pattern without changing the fundamental sequential programming approach, thereby maintaining programming simplicity while improving read margins by eliminating coupling effects through the intermediary randomization process.
Data Source
AI summary
Methods of operating a memory include receiving a plurality of digits of data for programming to a plurality of memory cells of the memory, redistributing the received plurality of digits of data in a reversible manner to generate a plurality of digits of redistributed data each corresponding to a respective memory cell of the plurality of memory cells, and for each memory cell of the plurality of memory cells, programming the corresponding digit of redistributed data for that memory cell to a first digit position of a respective data state of that memory cell, programming a second digit of data having a first data value to a second digit position of the respective data state of that memory cell, and programming a third digit of data having a second data value to a third digit position of the respective data state of that memory cell.


