Memory Data Scrambling for Code Density and Programming Distance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Non-volatile memory devices, such as flash memory, face challenges in minimizing programming distance (PD) and maintaining performance, reliability, and energy efficiency due to varying data patterns, which existing scrambling techniques fail to adequately address.
Innovation Solution
A data scrambling method that controls code densities by generating cipher codes with different densities, using tables like ET, ECC, and DT to adjust ranks and convert plain codes into cipher codes, and vice versa, optimizing cell states to meet specific objectives such as averaging cell states close to a target value.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a 1-to-1 translation method is used to minimize programming distance, then programming distance is reduced, but code density cannot be controlled and cell states cannot be optimized
Solution Approach 1:
The patent applies dynamics by transitioning from a static 1-to-1 translation method to a dynamic many-to-one translation method. The translation table is dynamically adjusted based on occurrence frequencies of plain codes, allowing the system to adaptively map multiple plain codes to a single cipher code when they share the same target cell state, thereby achieving both programming distance minimization and code density control
Solution Approach 2:
The patent changes the parameter of translation mapping from fixed 1-to-1 to variable many-to-one based on occurrence frequencies. By analyzing the frequency parameters of plain codes and adjusting the translation strategy accordingly, the system optimizes cell state distribution and achieves target average cell states while controlling programming distance
2Reliability
If data scrambling is performed to randomize code patterns, then performance and reliability are improved, but energy consumption increases
Solution Approach 1:
The patent applies local quality by performing scrambling operations selectively based on the characteristics of each plain code. Instead of uniformly scrambling all data, the system identifies frequent plain codes and applies targeted translation to specific code patterns, reducing unnecessary scrambling operations and associated energy consumption while maintaining performance benefits
3Reliability
If frequent plain codes are translated to cipher codes with small programming distance, then programming distance is minimized, but average cell state cannot be controlled
Solution Approach 1:
The patent implements feedback by calculating occurrence frequencies of plain codes and using this information to adjust the translation strategy. The system monitors the distribution of translated cipher codes and adjusts mappings to achieve the target average cell state, creating a closed-loop control mechanism that balances programming distance minimization with average cell state precision
Solution Approach 2:
The patent applies preliminary action by pre-calculating and storing translation mappings in a translation table based on occurrence frequencies. This pre-processing allows the system to quickly lookup and apply optimal translations during data writing operations, achieving both programming distance minimization and average cell state control without real-time computation overhead
Data Source
AI summary
A data scrambling method for controlling a code density according to an exemplary embodiment of the present disclosure includes receiving a plain code which is a code to be stored in the non-volatile memory device and a storage address at which the plain code is recorded; determining a rank corresponding to the plain code, using an ET table including appearance frequency rank information corresponding to individual plain code; calculating an adjustment rank corresponding to the plain code, using the rank and a random number that is generated based on the address of storage address; determining a cipher code corresponding to the appearance frequency rank of the plain code, using the adjustment rank and an ECC table including rank information determined by an objective function for individual cipher code; and storing the cipher code in the storage address.


