Seed Table Randomization for Non-Volatile Memory Security
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for generating pseudo-random numbers in communication and data storage systems are vulnerable to calculation, as pseudo-random sequences can be determined from initial values, leading to a need for methods that prevent easy calculation and ensure randomness in both row and column directions of non-volatile memory cells.
Innovation Solution
A seed table is formed by cyclically shifting pseudo noise sequences across multiple areas, allowing for the randomization of data in both row and column directions of non-volatile memory cells, using a pseudo noise sequence generator and randomizer that utilizes linear feedback shift registers to create a randomized data pattern.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a pseudo-random number generator is used to generate pseudo-random sequences, then the sequence can be calculated from an initial value, but this makes the system vulnerable to calculation and reduces security
Solution Approach 1:
The patent divides the seed into multiple seed units (first seed unit, second seed unit, etc.) and distributes them across different memory cells. Each seed unit is used to generate a portion of the pseudo-random sequence, making it difficult to reconstruct the entire sequence from a single initial value. This segmentation approach maintains ease of operation while improving security against calculation.
Solution Approach 2:
The patent transitions from a single initial value approach to a multi-dimensional seed distribution system. Instead of using one seed value, the system uses multiple seed units arranged in a specific pattern across memory cells, adding spatial dimensionality to the seed structure. This dimensional expansion makes reverse calculation significantly more difficult while preserving the ability to generate pseudo-random sequences.
2Quantity of substance
If data is stored in non-volatile memory cells, then storage is achieved, but interference between adjacent cells occurs
Solution Approach 1:
The patent converts the harmful interference between adjacent memory cells into a beneficial randomization mechanism. By storing different seed units in adjacent cells and using them to generate pseudo-random sequences, the system transforms the potential interference into a source of randomness that actually improves data storage reliability. The interference pattern becomes part of the randomization process rather than a harmful factor.
Solution Approach 2:
The patent changes the parameter of data organization by introducing seed units with specific binary patterns (e.g., 10010011) into memory cells. These parameter changes in the stored data create randomized access patterns that prevent interference between cells. The specific binary patterns of seed units transform the storage system from a vulnerable state to a more secure state against interference.
3Reliability
If a seed table with multiple areas is used to store seed units, then randomness in both row and column directions is achieved, but device complexity increases
Solution Approach 1:
The patent creates a seed table structure that serves multiple functions simultaneously. The same table structure used to store seed units also provides the randomization pattern for data storage, serves as interference protection mechanism, and maintains randomness in both row and column directions. This multi-functionality reduces the need for separate complex systems while achieving high reliability.
Data Source
AI summary
A method for operating a controller may include storing a pseudo noise (PN) sequence provided from a PN sequence generator in an i-th area of a seed table and cyclically shifting the PN sequence from the i-th area to an (i+1)-th area in the table to form the table. The table may include row and column areas. A method for operating a controller may include receiving a sequence from a sequence generator, splitting the sequence into seed units, storing split sequences in a j-th area of the seed table, and forming the table including the seed units corresponding to the split sequences stored in the j-th area. A method for operating a controller may include storing a sequence provided from a sequence generator in a seed table that includes a plurality of areas and cyclically shifting the sequence in the table until a seed is formed in each area.


