Flash Memory Data Scrambling for Read Error Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Non-volatile semiconductor memory devices, such as flash memory, experience errors during read operations due to electromagnetic coupling between storage elements, particularly when repeated data patterns are written, leading to increased threshold voltages and reduced data readability.
Innovation Solution
A method involving data scrambling and descrambling techniques, where data is randomized using page-based and block-based pseudo-random numbers to reduce correlations between adjacent storage elements, ensuring that written data appears random and minimizing electromagnetic interference.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data is written repeatedly to the same pages in flash memory, then storage capacity is utilized efficiently, but electromagnetic coupling between storage elements increases causing read errors
Solution Approach 1:
The flash memory array is divided into multiple blocks, each containing multiple pages. The scrambling function uses both block number and page number to generate unique pseudo-random sequences for each page within each block. This segmentation approach distributes repeated data patterns across different blocks and pages, preventing electromagnetic coupling issues while maintaining storage utilization efficiency.
Solution Approach 2:
A pseudo-random scrambling function is applied to the data before writing, where the scrambling pattern changes based on the block number and page number parameters. This parameter-based scrambling ensures that even when the same data is written to different pages, the actual stored pattern differs, thereby reducing electromagnetic coupling between storage elements while maintaining efficient storage utilization.
2Reliability
If data patterns are randomized to reduce electromagnetic coupling, then read errors are reduced, but device complexity increases due to additional scrambling operations
Solution Approach 1:
The scrambling and descrambling operations are self-performing within the memory system itself. The same pseudo-random function used during writing automatically generates the correct scrambling pattern during reading, eliminating the need for external scrambling keys or complex control logic. This self-service approach reduces read errors while minimizing the increase in device complexity.
Solution Approach 2:
The scrambling function is implemented as a deterministic pseudo-random generator that can be replicated identically in both the writing and reading paths. By copying the same algorithm with identical block and page number inputs, the system achieves reliable descrambling without requiring additional complexity for key management or synchronization.
3Object-affected harmful factors
If scrambling is applied to all data before writing, then electromagnetic interference is minimized, but writing speed decreases due to additional processing
Solution Approach 1:
The pseudo-random scrambling function operates in a periodic manner based on the block and page number sequence. As the memory controller sequentially writes to different pages within a block, the scrambler automatically progresses through its pseudo-random sequence, generating the appropriate scrambling pattern for each page without requiring intervention or additional processing time. This periodic action minimizes electromagnetic interference while maintaining writing speed.
Data Source
AI summary
A method and system for programming and reading data with reduced read errors in a memory device. In one approach, date to be written to the memory device is scrambled using a first pseudo random number which is generated based on a number of a page of the memory device to which the data is to be written and a second pseudo random number which is generated based on a number of a block of the memory device to which the data is to be written. This avoids bit line-to-bit line and block-to-block redundancies which can result in read errors. The data may also be scrambled based on a number of a section within a page.


