Flash Memory Random Sequence Data Mixing for Wear Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional flash memory devices wear out quickly due to insulation film deterioration, limiting their number of erase operations and affecting data retention and access speed, especially when multiple memory regions need simultaneous programming or erasure.
Innovation Solution
A method and device for controlling flash memory using random sequence data generation based on seeds derived from memory addresses, mixing data with random sequences for writing and derandomizing data read, which reduces the impact of word line coupling and enhances data distribution uniformity, thereby extending device lifespan and improving access efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Duration of action of stationary object
If conventional flash memory devices perform multiple erase operations, then data storage capacity is maintained, but insulation film deterioration occurs causing device wear out
Solution Approach 1:
The patent applies preliminary action by performing derandomization of data before it is written to the flash memory device. The derandomizer circuit processes incoming data to reduce the occurrence of consecutive identical bits (particularly consecutive 1s) before storage. This preprocessing action prevents the formation of stress-prone patterns during subsequent erase operations, thereby extending device lifespan while maintaining reliability.
2Productivity
If simultaneous programming of multiple memory regions is performed, then access speed is improved, but word line coupling effects increase causing programming errors
Solution Approach 1:
The patent applies preliminary action by randomizing the data before it is programmed to the flash memory device. The randomizer circuit transforms the input data into a pattern with reduced consecutive identical bits, which minimizes capacitive coupling effects between adjacent memory cells during simultaneous programming operations. This allows faster parallel programming while maintaining data programming accuracy.
Solution Approach 2:
The patent introduces an intermediary transformation process between data input and storage. The randomizer and derandomizer circuits act as intermediary layers that transform data into a form suitable for efficient storage and retrieval. The randomizer prepares data for programming by reducing coupling effects, while the derandomizer restores the original data pattern during read operations, enabling both speed and accuracy.
3Stability of the object's composition
If random data access is performed, then data distribution uniformity is improved, but additional processing time is required for random sequence generation
Solution Approach 1:
The patent applies preliminary action by generating and storing random sequence data in advance. The randomizer circuit pre-processes data into randomized patterns that can be efficiently stored and later derandomized during read operations. This preliminary randomization improves data distribution uniformity across the memory device, reducing hot spots and wear concentration.
Solution Approach 2:
The patent uses copying by maintaining the relationship between randomized and original data through deterministic transformation. The same seed value used for randomization during programming is used during read operations to regenerate the identical random sequence, allowing the derandomizer to perfectly restore the original data. This copying approach ensures data integrity without requiring storage of the actual random sequence.
Data Source
AI summary
A method of controlling a memory, determining whether data access is random; generating a first random sequence (RS) data based on a first seed if data access is not random (column offset=0); mixing the first RS data with data read from the memory or data to be written to the memory; generating a second seed from a first seed if data access is random (column offset not=0); generating a second RS data based on the second seed; and mixing the second RS data with data read from the memory or data to be written to the memory.


