Programmable Data Scrambler Seed for NAND Flash Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data scramblers for NAND flash memory devices face challenges in achieving optimal performance and flexibility due to fixed or programmable seeds, which can lead to suboptimal results across different types of NAND flash memory devices and increase system overhead.
Innovation Solution
A scrambler seed is generated by combining automatically generated lower bits based on the physical location and programmable nonlinear function-generated upper bits, allowing for optimal flexibility and randomization capability. This seed is used to randomize user data before writing to NAND media, and a shortened version is used for error detection during read operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a fixed seed is used in the data scrambler, then the device complexity is reduced, but the reliability deteriorates due to suboptimal results across different types of NAND flash memory devices
Solution Approach 1:
The patent implements dynamic seed selection by allowing the scrambler seed to be programmably configured based on the specific type of NAND flash memory device being used. Instead of a fixed seed, the system can adaptively select appropriate seed values to optimize performance for different device types (e.g., floating-gate flash versus charge-trap flash), thereby resolving the contradiction between simplicity and reliability.
2Reliability
If a programmable seed is used in the data scrambler, then the reliability is improved for different device types, but the device complexity increases due to seed calculation and storage overhead
Solution Approach 1:
The patent extracts only the essential portions of the scrambler seed that need to be stored in the non-volatile memory, rather than storing the entire seed. By identifying and storing only the critical seed bits that cannot be regenerated, the system reduces storage overhead while maintaining the reliability benefits of programmable seeds for different device types.
Solution Approach 2:
The patent uses copying techniques by storing representative seed values in the non-volatile memory that can be reused across multiple operations. Instead of recalculating seeds frequently, the system copies and reuses pre-determined seed values that are optimized for specific device types, thereby reducing computational overhead while maintaining reliability.
3Reliability
If a full-length scrambler seed is stored in non-volatile memory, then the reliability is maintained, but the storage capacity is reduced
Solution Approach 1:
The patent extracts and stores only the essential portions of the scrambler seed in the non-volatile memory. By identifying which seed bits are critical and cannot be regenerated, and storing only those specific bits, the system maintains scrambler seed accuracy while minimizing the storage space consumed by seed data.
Data Source
AI summary
Systems, apparatuses and methods may provide for technology that generates a first set of scrambler bits based on a destination page number associated with data, generates a second set of scrambler bits based on a programmable nonlinear function, and combines the first set of scrambler bits and the second set of scrambler bits into a scrambler seed. In one example, the technology also randomizes the data based on the scrambler seed to obtain outgoing randomized data and writes the outgoing randomized data to a non-volatile memory.


