Multi-pass Programming Abort Error Detection and Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

During ungraceful shutdowns, NAND-based flash memory devices experience write abort errors, leading to incomplete multi-pass programming, which can result in unusable memory cells, over-programming errors, and reduced device lifespan due to incorrect restarts and re-programming attempts.

Innovation Solution

A system and method for detecting and correcting write abort errors by determining the affected pages and programming stage using boundary word lines, allowing for completion of multi-pass programming, thereby minimizing data loss and extending device lifespan.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the storage device marks the block of memory containing write-aborted pages as unusable, then data integrity is maintained, but the useful lifespan of the device decreases due to decreased memory size

Engineering Contradiction:
Improvedata integrityVSAvoiduseful lifespan
Core Design Contradiction:
ReliabilityVSDuration of action of stationary object

Solution Approach 1:

The system performs preliminary detection of write abort errors and identifies the exact programming stage before attempting recovery. By detecting the abort condition and determining the incomplete programming stage in advance, the system can selectively reprogram only affected pages rather than marking entire blocks as unusable, thus preserving memory capacity while maintaining data integrity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of discarding (marking as unusable) entire memory blocks affected by write aborts, the system recovers by identifying specifically which pages and programming stages were affected. The system then recovers the usable memory capacity by completing the programming of only those specific pages that were interrupted, rather than sacrificing entire blocks.

Inventive Principle:
Principle #34Discarding and recovering

2Duration of action of stationary object

If the storage device attempts to re-start the multi-pass programming, then memory usage is maintained, but over-programming errors occur leading to data loss

Engineering Contradiction:
Improveuseful lifespanVSAvoiddata integrity
Core Design Contradiction:
Duration of action of stationary objectVSReliability

Solution Approach 1:

The system implements feedback by detecting write abort conditions and determining the exact stage of multi-pass programming that was interrupted. This feedback information is used to control the recovery process, ensuring that programming is restarted at the correct stage rather than blindly re-attempting from the beginning, thus preventing over-programming errors.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Before restarting programming, the system performs preliminary detection to identify the exact stage where programming was interrupted. This preliminary action of determining the incomplete programming stage ensures that the restart occurs at the appropriate point in the multi-pass sequence, preventing both under-programming and over-programming errors.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the storage device erases and re-programs affected blocks, then data integrity is restored, but the device lifespan decreases due to limited rewrite cycles

Engineering Contradiction:
Improvedata integrityVSAvoiduseful lifespan
Core Design Contradiction:
ReliabilityVSDuration of action of stationary object

Solution Approach 1:

The system applies local quality by treating affected pages differently from unaffected pages. Instead of erasing and re-programming entire blocks, the system identifies and processes only the specific pages that were affected by write aborts. This localized approach restores data integrity for affected pages while preserving the rewrite cycles of unaffected pages, thus extending overall device lifespan.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system segments the memory block into individual pages and further segments the programming process into multiple passes. By identifying which specific pages and which specific programming stages were affected by write aborts, the system can apply recovery operations only to the necessary segments rather than entire blocks, minimizing the impact on device lifespan.

Inventive Principle:
Principle #1Segmentation

4Measurement precision

If the storage device attempts to detect write abort errors, then recovery accuracy is improved, but the complexity of the system increases

Engineering Contradiction:
Improveerror detection accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system uses self-service by utilizing existing control data and status information that is already maintained during normal multi-pass programming operations. The write abort detection leverages existing feedback mechanisms and control structures rather than requiring entirely new detection hardware or complex external monitoring systems, thus improving detection accuracy while limiting complexity growth.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11663068B2Write abort error detection in multi-pass programming
Publication Date: 2023.05.30 SANDISK TECHNOLOGIES LLC
  • US11663068B2 patent drawing
  • US11663068B2 patent drawing
  • US11663068B2 patent drawing

AI summary

A storage device may detect errors during data transfer. Upon detection of one or more data transfer errors, for example, the storage device can begin to scan pages within a plurality of memory devices for uncorrectable error correction codes. Once scanned, a range of pages within the plurality of memory devices with uncorrectable error correction codes associated with a write abort error may be determined. The stage of multi-pass programming achieved on each page within that range is then established. Once calculated, the previously aborted multi-pass programming of each page within the range of pages can continue until completion. Upon completion, normal operations may continue without discarding physical data location.