Semiconductor Memory Data Randomization via Spare Block Seeds
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing complexity of programming multiple logical pages in semiconductor memory devices leads to longer operation times, reduced read margins, and interference between adjacent memory cells due to narrow threshold voltage distributions and the need for additional circuitry for data randomization.
Innovation Solution
A semiconductor memory device that randomizes data without a dedicated circuit for randomization, using spare blocks and page buffers to scramble and descramble data using random seeds, thereby enhancing threshold voltage distributions and reducing interference between memory cells.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If multiple logical pages are programmed in one physical page to increase storage capacity, then data storage capacity is improved, but program operation time increases and program complexity increases
Solution Approach 1:
The patent applies preliminary action by pre-calculating and storing random seed values in seed memory before the actual programming operation. During programming, these pre-stored seeds are used to randomize data, eliminating the need for real-time random number generation and reducing program operation time while maintaining increased storage capacity through multi-level cells.
2Quantity of substance
If multiple logical pages are programmed in one physical page to increase storage capacity, then data storage capacity is improved, but program operation becomes more complex
Solution Approach 1:
The patent implements self-service by using the memory device's own internal resources (seed memory and existing programming circuitry) to perform data randomization. The seed memory stores pre-generated random seeds, and the programming circuitry automatically applies these seeds during programming operations, eliminating the need for external randomization circuits and simplifying the overall system while supporting multi-page programming.
3Quantity of substance
If the number of target threshold voltage of memory cells is augmented to store multi-level data, then data storage capacity is improved, but read margin reduces and it becomes difficult to read data
Solution Approach 1:
The patent applies parameter changes by introducing data randomization that modifies the distribution pattern of threshold voltages. By XORing input data with pre-stored random seeds before programming, the threshold voltage distributions of different data states (S0, S1, S2, S3) become more uniform and better separated, improving read margin while maintaining multi-level storage capacity.
4Measurement precision
If data randomization circuitry is added to uniformize threshold voltage distributions, then read margin is improved, but device area increases
Solution Approach 1:
The patent implements multi-functionality by using the seed memory to serve dual purposes: storing random seeds for data randomization and acting as part of the overall memory storage system. Additionally, the existing programming and reading circuitry is utilized for randomization operations, eliminating the need for separate dedicated randomization circuits and reducing overall device area while achieving uniform threshold voltage distributions.
Data Source
AI summary
A semiconductor memory device includes memory blocks including pages connected to plural main cells, a spare block, including pages connected to spare cells, configured to store a random seed for randomization to the spare cells connected to each page, page buffers configured to scramble data inputted for program operation by using random seed read from a page of the spare block selected by a control signal to transmit the scrambled data to the bit line, and configured to descramble data read from a main cell selected for read operation and output the descrambled data, and a controller configured to output the control signal to select a page of the spare block corresponding to an address of a page of the memory block selected for the programming or reading, and configured to control a scramble operation and a descramble operation of the page buffers.


