Flash Memory Scrambling Seeds for Defect Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash storage devices face program failures due to physical defects or process variations, leading to increased write amplification factor and defective parts per million, which degrade storage efficiency and performance.

Innovation Solution

The storage device employs a controller that scrambles data using a first scrambling seed and attempts to program memory cells. If the first attempt fails, it switches to a second scrambling seed, increasing the likelihood of successful programming and reducing the identification of blocks as bad blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is programmed using a single scrambling seed, then the programming process is simple and fast, but program failures occur due to physical defects or process variations

Engineering Contradiction:
Improveprogramming success rateVSAvoidscrambling process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The controller performs preliminary actions by attempting to program memory cells with multiple different scrambling seeds before declaring a block as bad. This preliminary testing with varied seeds helps identify blocks that can be successfully programmed with alternative seeds, preventing premature rejection of potentially usable blocks and reducing the need for rewrites.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention changes the scrambling seed parameter when initial programming attempts fail. By varying this parameter (using different scrambling seeds), the system explores different data patterns that may be more compatible with the physical characteristics of the memory block, thereby overcoming program failures caused by process variations or defects.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If blocks are marked as bad due to program failures, then defective blocks are removed from accessible blocks, but write amplification factor increases and storage efficiency degrades

Engineering Contradiction:
Improvedata integrityVSAvoidstorage efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The controller performs preliminary programming attempts with multiple scrambling seeds before marking a block as bad. This preliminary exploration prevents hasty classification of blocks as defective, ensuring that blocks capable of successful programming with alternative seeds are not prematurely excluded from the accessible block pool, thereby maintaining storage efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback by monitoring programming results across multiple attempts with different scrambling seeds. This feedback mechanism provides information about block characteristics and programming success rates, enabling intelligent decisions about whether to mark blocks as bad or continue using them, thus optimizing the balance between data integrity and storage efficiency.

Inventive Principle:
Principle #23Feedback

3Reliability

If multiple scrambling seeds are used for programming attempts, then programming success rate increases, but the programming process time increases

Engineering Contradiction:
Improveprogramming success rateVSAvoidprogramming process time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The controller applies partial action by limiting the number of retry attempts with different scrambling seeds to a predetermined threshold. This prevents excessive time consumption while still providing sufficient opportunities to overcome programming failures. The system balances between attempting enough retries to improve success rate and stopping before causing unacceptable time delays.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system uses self-service by automatically managing the retry process with different scrambling seeds without requiring external intervention. The controller autonomously selects alternative seeds, performs retry attempts, and makes decisions about block status, thereby resolving programming failures efficiently without adding external overhead or delays.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11250913B2Scrambling using different scrambling seeds for defect reduction and improved programming efficiency
Publication Date: 2022.02.15 SANDISK TECHNOLOGIES LLC
  • US11250913B2 patent drawing
  • US11250913B2 patent drawing
  • US11250913B2 patent drawing

AI summary

Aspects of a storage device including a memory and a controller are provided which allow for efficient programming of cells on word lines using different scrambling seeds. The controller attempts to program cells of the memory by applying data scrambled using a first scrambling seed to the word line. If this attempt to program fails, the controller scrambles the data using a second, different scrambling seed and attempts to program the cells by applying the re-scrambled data to the word line. If this re-attempt also fails, the word line is listed. Then when the controller receives other data, the controller performs a final programming attempt with the other data scrambled using the second scrambling seed. If this further attempt fails, the controller identifies the block including the failed word line as a GBB. Thus, fewer GBBs may be incorrectly identified, reducing DPPM and improving memory yield of the storage device.